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

SQL SUM() 求和函數完全指南:從基本用法到進階分組彙總

     編輯:MySQL 綜合教學

基本語法

SELECT SUM(expression)
FROM tables
WHERE predicates;

expression 可以是數值欄位、算術運算式或結合 DISTINCT 去重後的值。

經典使用場景

1. 單一欄位求和

計算薪資超過 25,000 元員工的薪資總額:

SELECT SUM(salary) AS "Total Salary"
FROM employees
WHERE salary > 25000;

2. 搭配 DISTINCT 去重求和

僅統計不重複薪資值的總和:

SELECT SUM(DISTINCT salary) AS "Total Salary"
FROM employees
WHERE salary > 25000;

3. 運算式求和(如淨收入 = 總收入 - 總支出)

SELECT SUM(income - expenses) AS "Net Income"
FROM gl_transactions;

4. 數學運算求和(如提成 = 銷售額 × 10%)

SELECT SUM(sales * 0.10) AS "Commission"
FROM order_details;

5. GROUP BY 分組彙總

依部門統計銷售總額:

SELECT department, SUM(sales) AS "Total sales"
FROM order_details
GROUP BY department;

注意事項

  • SUM() 會自動忽略 NULL 值。
  • 若結果集為空,返回 NULL 而非 0,可用 COALESCE(SUM(...), 0) 處理。
  • 大量資料求和時,確保欄位有適當索引,避免全表掃描。

結語

SUM() 不僅能做簡單加總,結合運算式、DISTINCT、GROUP BY 更能滿足複雜報表需求。掌握這些用法,讓資料統計更得心應手。

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