如何在 MySQL 中執行條件 GROUP BY 來提取?
我們先建立一個表格 −
mysql> create table DemoTable ( StudentName varchar(40), StudentMarks int ); Query OK, 0 rows affected (0.64 sec)
使用插入命令將一些記錄插入到表格中 −
mysql> insert into DemoTable values('John',78); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('Chris',48); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values('John',67); Query OK, 1 row affected (0.15 sec) mysql> insert into DemoTable values('Chris',89); Query OK, 1 row affected (0.15 sec)
使用選擇語句從表格中顯示所有記錄 −
mysql> select *from DemoTable;
這將生成以下輸出。在這裡,我們有一些重複的學生名稱,比如成績為 78 和 67 的學生“約翰” −
+-------------+--------------+ | StudentName | StudentMarks | +-------------+--------------+ | John | 78 | | Chris | 48 | | John | 67 | | Chris | 89 | +-------------+--------------+ 4 rows in set (0.00 sec)
以下是執行條件 GROUP BY 並顯示具有最大成績的獨特學生姓名(例如,學生“約翰”具有最大成績 78)的查詢 −
mysql> select StudentName,Max(StudentMarks) AS StudentMarks from DemoTable group by StudentName;
這將生成以下輸出 −
+-------------+--------------+ | StudentName | StudentMarks | +-------------+--------------+ | John | 78 | | Chris | 89 | +-------------+--------------+ 2 rows in set (0.00 sec)
廣告