首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL MAX() 函數使用教程:查找最大值與分組最大值

     編輯:MySQL 綜合教學

MySQL MAX() 函數使用教程:查找最大值與分組最大值

MAX() 聚合函數用於返回指定表達式的最大值,支援數值、字符串、日期等可比較類型。本文展示基本用法、分組最大值及與 MIN() 結合。

範例數據

employee_tbl 表,關注 daily_typing_pages 欄位。

1. 全表最大值

mysql> SELECT MAX(daily_typing_pages) FROM employee_tbl;
+-------------------------+
| MAX(daily_typing_pages) |
+-------------------------+
| 350                     |
+-------------------------+

2. 分組最大值(配合 GROUP BY)

mysql> SELECT id, name, work_date, MAX(daily_typing_pages)
-> FROM employee_tbl GROUP BY name;
+------+------+------------+-------------------------+
| id   | name | work_date  | MAX(daily_typing_pages) |
+------+------+------------+-------------------------+
| 3    | Jack | 2007-05-06 | 170                     |
| 4    | Jill | 2007-04-06 | 220                     |
| 1    | John | 2007-01-24 | 250                     |
| 2    | Ram  | 2007-05-27 | 220                     |
| 5    | Zara | 2007-06-06 | 350                     |
+------+------+------------+-------------------------+

注意:非聚合欄位 id、work_date 的值是不確定的(MySQL 允許但不推薦),生產環境應僅選擇分組欄位與聚合欄位,或使用窗口函數(MySQL 8.0+)獲取對應行完整信息。

3. 同時獲取最小值與最大值

mysql> SELECT 
    MIN(daily_typing_pages) AS least,
    MAX(daily_typing_pages) AS max
FROM employee_tbl;
+-------+------+
| least | max  |
+-------+------+
| 100   | 350  |
+-------+------+

4. 字符串與日期類型

  • 字符串:按字典序比較,MAX(name) 返回字典序最大的名字。
  • 日期:MAX(work_date) 返回最晚日期。

5. NULL 處理

MAX() 忽略 NULL 值;若所有值均為 NULL,結果為 NULL。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved