Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

นับจำนวนครั้งที่ค่าเฉพาะปรากฏในคอลัมน์ MySQL ตามเงื่อนไขคอลัมน์อื่น

บทความนี้สาธิตการใช้ฟังก์ชันรวม COUNT() ร่วมกับ WHERE และ GROUP BY เพื่อนับจำนวนแถวที่มีค่าเฉพาะในคอลัมน์หนึ่ง โดยจัดกลุ่มตามคอลัมน์อีกคอลัมน์หนึ่ง

สร้างตารางและข้อมูลทดสอบ

mysql> CREATE TABLE DemoTable650 (Value1 INT, Value2 INT);
Query OK, 0 rows affected (0.83 sec)

mysql> INSERT INTO DemoTable650 VALUES(100, 500);
mysql> INSERT INTO DemoTable650 VALUES(100, 500);
mysql> INSERT INTO DemoTable650 VALUES(100, 500);
mysql> INSERT INTO DemoTable650 VALUES(100, 500);
mysql> INSERT INTO DemoTable650 VALUES(200, 500);

ข้อมูลในตาราง

+--------+--------+
| Value1 | Value2 |
+--------+--------+
|    100 |    500 |
|    100 |    500 |
|    100 |    500 |
|    100 |    500 |
|    200 |    500 |
+--------+--------+

คิวรีนับจำนวน Value1 = 100 จัดกลุ่มตาม Value2

mysql> SELECT Value2, COUNT(Value1) 
FROM DemoTable650 
WHERE Value1 = 100 
GROUP BY Value2;

ผลลัพธ์

+--------+---------------+
| Value2 | count(Value1) |
+--------+---------------+
|    500 |             4 |
+--------+---------------+

คำอธิบาย: คิวรีนี้จะนับเฉพาะแถวที่ Value1 = 100 แล้วจัดกลุ่มตาม Value2 (ซึ่งในตัวอย่างมีค่าเดียวคือ 500) ผลลัพธ์คือ 4 แถว