首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 統計查詢函數完全指南:AVG、SUM、MAX、MIN 實戰用法

     編輯:MySQL 資料庫相關知識

前言

MySQL 內建多種聚合函數,可快速完成資料統計分析。本文系統介紹 AVG()、SUM()、MAX()、MIN() 四大核心統計函數的語法、適用場景、常見誤區與組合查詢技巧。

一、AVG() - 計算平均值

語法

SELECT AVG(column) FROM table_name;

說明

  • 僅適用於數值型欄位;字串型雖可執行但無實質意義
  • 單次查詢只能指定一個欄位
  • 自動忽略 NULL 值

範例

SELECT AVG(uid) FROM user;
2.5000

註:此處統計 uid 平均值僅為演示語法,實務上通常統計價格、分數等業務指標。

二、SUM() - 計算總和

語法

SELECT SUM(column) FROM table_name;

範例

SELECT SUM(uid) FROM user;
10

三、MAX() - 取得最大值

語法

SELECT MAX(column) FROM table_name;

範例

SELECT MAX(uid) FROM user;
4

四、MIN() - 取得最小值

語法

SELECT MIN(column) FROM table_name;

用法同 MAX(),此處不再贅述。

五、多聚合函數組合查詢

可在單條 SQL 中同時使用多個聚合函數:

SELECT MAX(uid) AS max_uid, MIN(uid) AS min_uid, AVG(uid) AS avg_uid FROM user;
max_uid  min_uid  avg_uid
4        1        2.5000

六、常見誤區:聚合函數與普通欄位混用

錯誤寫法:

-- 雖能執行,但 username 返回值不確定(非標準 SQL 行為)
SELECT MAX(uid), username FROM user;

正確寫法: 先排序再取第一筆

SELECT uid, username FROM user ORDER BY uid DESC LIMIT 1;

原理: 聚合查詢返回單行結果,若混入非聚合欄位且未納入 GROUP BY,MySQL(預設 sql_mode)會任意取該組內的一個值,結果不可預期。標準做法是使用子查詢或排序+限制。

七、進階提示

  • 搭配 GROUP BY 可進行分組統計
  • 搭配 HAVING 可過濾聚合後的結果
  • 大表統計時,注意索引覆蓋與查詢效能
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved