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

SQL MAX() 函數完整指南:語法、範例與實戰技巧

     編輯:SQL 基礎

SQL MAX() 函數完整指南

MAX() 函數 是 SQL 標準彙總函數之一,用於返回指定欄位中的最大值。無論處理數值、日期時間或字串資料,MAX() 都能瞬間找出極大值,是資料統計、異常檢測與報表生成的關鍵工具。

標準語法

SELECT MAX(column_name) FROM table_name;

參數說明:

  • column_name:目標查詢欄位
  • table_name:來源資料表

範例資料集

沿用 Websites 範例資料表:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘寶         | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鳥教程     | https://www.runoob.com/    | 4689  | CN      |
| 4  | 微博         | https://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 6  | 百度         | https://www.baidu.com/    | 4     | CN      |
| 7  | stackoverflow| https://stackoverflow.com/ | 0     | IND     |
+----+--------------+---------------------------+-------+---------+

核心範例:查詢最高 Alexa 排名值

找出資料表中 alexa 欄位的最大值(排名最低的網站):

SELECT MAX(alexa) AS max_alexa FROM Websites;

執行結果展示

查詢將返回 4689,對應「菜鳥教程」網站。

MAX() 函數執行結果

進階實戰應用

分組統計各類別最大值

SELECT country, MAX(alexa) AS worst_rank
FROM Websites
GROUP BY country;

多欄位結合查詢

找出排名最低的網站完整資訊:

SELECT name, url, alexa 
FROM Websites 
WHERE alexa = (SELECT MAX(alexa) FROM Websites);

搭配 HAVING 篩選群組

SELECT country, MAX(alexa) 
FROM Websites 
GROUP BY country 
HAVING MAX(alexa) > 100;

資料類型行為差異

資料類型比較邏輯範例結果
數值數學大小MAX(1,5,3) = 5
字串字典序 (ASCII/Unicode)MAX('A','Z','M') = 'Z'
日期時間時間先後MAX('2023-01-01','2023-12-31') = '2023-12-31'

最佳實踐建議

  • 搭配索引使用可大幅提升大量資料查詢效能
  • 避免在 WHERE 子句直接使用 MAX(),改用子查詢
  • 結合 MIN() 可快速掌握資料分佈範圍
  • 注意 NULL 值會被自動忽略,不影響結果

相關函數延伸

掌握 MAX() 後,建議進一步學習 MIN() 函數、AVG() 平均值、COUNT() 計數 等彙總函數,構建完整的 SQL 資料分析能力。

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