SQL 聚合函數(Aggregate Functions)教學

🧭 簡介

聚合函數 (Aggregate Functions) 是 SQL 中用來對多筆資料進行運算、彙總或統計的函數。常見用途包括計算筆數、平均值、最大值、最小值與總和。

聚合函數通常與 GROUP BY 子句搭配使用,用於依群組彙總資料,例如計算各部門的平均薪資或每月銷售總額。


📘 常見聚合函數

函數名稱
功能說明
範例

COUNT()

計算筆數

SELECT COUNT(*) FROM employees;

SUM()

加總

SELECT SUM(salary) FROM employees;

AVG()

平均值

SELECT AVG(salary) FROM employees;

MIN()

最小值

SELECT MIN(age) FROM employees;

MAX()

最大值

SELECT MAX(age) FROM employees;


📊 COUNT()

COUNT() 用於計算資料筆數,可搭配 * 或指定欄位使用。

-- 計算所有員工數
SELECT COUNT(*) FROM employees;

-- 計算指定部門的員工數
SELECT COUNT(*) FROM employees WHERE department = 'IT';

💡 COUNT(column_name) 不會計算 NULL 值。


💰 SUM()

SUM() 用於數值欄位的總和。


📈 AVG()

AVG() 計算平均值。


📉 MIN() 與 MAX()

MIN() 取得最小值,MAX() 取得最大值。


🧩 GROUP BY 群組聚合

GROUP BY 用於依照一個或多個欄位分組,再進行彙總。

⚠️ GROUP BY 後的 SELECT 子句中,只能包含群組欄位與聚合函數。


⚙️ HAVING 條件過濾群組

HAVING 用於篩選群組結果(不同於 WHERE 是篩選個別資料列)。


🧠 多層聚合與運算

聚合結果可以再進行數學運算或巢狀查詢:


🎯 小結

  • 聚合函數能快速進行資料統計與彙總。

  • 常與 GROUP BYHAVING 一起使用。

  • 聚合結果可搭配別名(AS)提升可讀性。

  • 聚合函數會忽略 NULL 值(除非使用 COUNT(*))。


✅ 範例練習

Last updated