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

คืนค่าฟิลด์ที่มีจำนวนมากที่สุดใน MySQL

การคืนค่าฟิลด์ที่มีจำนวนมากที่สุด

เพื่อคืนค่าฟิลด์ที่มีจำนวนมากที่สุด ให้ใช้ 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) ซึ่งก็คือชื่อที่ปรากฎมากที่สุด