การคืนค่าฟิลด์ที่มีจำนวนมากที่สุด
เพื่อคืนค่าฟิลด์ที่มีจำนวนมากที่สุด ให้ใช้ ORDER BY COUNT(*) ร่วมกับ GROUP BY และ LIMIT 1 มาสร้างตารางตัวอย่างก่อน
สร้างตารางและเพิ่มข้อมูล
mysql> CREATE TABLE DemoTable1940 (FirstName VARCHAR(20));
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO DemoTable1940 VALUES('Chris');
mysql> INSERT INTO DemoTable1940 VALUES('Mike');
mysql> INSERT INTO DemoTable1940 VALUES('Adam');
mysql> INSERT INTO DemoTable1940 VALUES('Mike');
mysql> INSERT INTO DemoTable1940 VALUES('Chris');
mysql> INSERT INTO DemoTable1940 VALUES('David');
mysql> INSERT INTO DemoTable1940 VALUES('Mike');
แสดงข้อมูลทั้งหมด
mysql> SELECT * FROM DemoTable1940;
ผลลัพธ์:
+-----------+
| FirstName |
+-----------+
| Chris |
| Mike |
| Adam |
| Mike |
| Chris |
| David |
| Mike |
+-----------+
7 rows in set (0.00 sec)
คำสั่ง SQL เพื่อหาค่าที่มากที่สุด
mysql> SELECT * FROM DemoTable1940
-> GROUP BY FirstName
-> ORDER BY COUNT(*) DESC
-> LIMIT 1;
ผลลัพธ์:
+-----------+
| FirstName |
+-----------+
| Mike |
+-----------+
1 row in set (0.00 sec)
คำอธิบาย: คำสั่งจะจัดกลุ่มตาม FirstName นับจำนวนแต่ละกลุ่ม เรียงจากมากไปน้อย และ取ค่าแรกสุด (LIMIT 1) ซึ่งก็คือชื่อที่ปรากฎมากที่สุด