如何在 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)

更新日期:01-Oct-2019

287 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告