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

หาค่าสูงสุดของแต่ละกลุ่มในตาราง MySQL

ใช้ GROUP BY และ MAX() หาค่าสูงสุดต่อกลุ่ม

สร้างตารางและเพิ่มข้อมูล

mysql> create table DemoTable ( CountryName varchar(20), Population int ); 
Query OK, 0 rows affected (0.56 sec)
mysql> insert into DemoTable values('US',560); 
Query OK, 1 row affected (0.23 sec) 
mysql> insert into DemoTable values('UK',10090); 
Query OK, 1 row affected (0.15 sec) 
mysql> insert into DemoTable values('UK',8794); 
Query OK, 1 row affected (0.19 sec) 
mysql> insert into DemoTable values('US',1090); 
Query OK, 1 row affected (0.21 sec)

คิวรี่หาประชากรสูงสุดของแต่ละประเทศ

mysql> select CountryName, max(Population) from DemoTable group by CountryName;

ผลลัพธ์

+-------------+-----------------+ 
| CountryName | max(Population) | 
+-------------+-----------------+ 
| US          |            1090 | 
| UK          |           10090 | 
+-------------+-----------------+ 
2 rows in set (0.00 sec)

US: MAX(560, 1090) = 1090 | UK: MAX(10090, 8794) = 10090 | GROUP BY จัดกลุ่ม CountryName แล้ว MAX หาค่าสูงสุดในแต่ละกลุ่ม