บทความนี้สาธิตการใช้ฟังก์ชันรวม 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 แถว