ใช้ COUNT() ร่วมกับ GROUP BY เพื่อนับจำนวนครั้งที่แต่ละค่าปรากฏ
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Number INT
);
mysql> INSERT INTO DemoTable(Number) VALUES (10), (20), (20), (30), (10), (10);
ดูข้อมูล
mysql> SELECT * FROM DemoTable;
+----+--------+
| Id | Number |
+----+--------+
| 1 | 10 |
| 2 | 20 |
| 3 | 20 |
| 4 | 30 |
| 5 | 10 |
| 6 | 10 |
+----+--------+
คำสั่งนับจำนวนแต่ละค่า
mysql> SELECT Number, COUNT(Number) AS CommonElement
-> FROM DemoTable
-> GROUP BY Number;
ผลลัพธ์
+--------+---------------+
| Number | CommonElement |
+--------+---------------+
| 10 | 3 |
| 20 | 2 |
| 30 | 1 |
+--------+---------------+
คำอธิบาย:
GROUP BY Number— จัดกลุ่มแถวที่มี Number เท่ากันCOUNT(Number)— นับจำนวนแถวในแต่ละกลุ่ม (ไม่นับ NULL)- เรียงตาม Number อัตโนมัติ (MySQL default)
เพิ่ม ORDER BY: ORDER BY CommonElement DESC เรียงจากซ้ำมากไปน้อย