聚合函數,例如 SUM(),將數學運算應用於一組值,傳回單一結果。如果沒有 GROUP BY,聚合函數將對整個表進行操作,通常會導致意外或錯誤的輸出。
考慮以下範例:您有一個 Employee 表,其中包含每位員工的月薪。要確定每月工資支出總額,您可以使用以下查詢:
SELECT EmployeeID, SUM (MonthlySalary) FROM Employee
但是,在不使用GROUP BY 的情況下執行此查詢只會返回包含每個員工工資的同一個表,這不是所需的結果。
使用GROUP BY 按EmployeeID 將資料分組可確保SUM() 函數應用於每位員工的薪資金額分別:
SELECT EmployeeID, SUM (MonthlySalary) FROM Employee GROUP BY EmpID
此更新的查詢現在提供了正確的結果,即每位員工的月薪總額。
在 SQL 中,GROUP BY 的作用類似於「foreach」循環為了聚合函數。它根據指定的列將資料分組,並對每個群組分別套用聚合函數。
例如,如果Employee 表包含以下行:
empid | MonthlySalary |
---|---|
1 | 200 |
1 | 300 |
2 | 300 |
使用GROUP BY 查詢,結果將是:
empid | TotalSalary |
---|---|
1 | 500 |
2 | 300 |
這示範了GROUP BY 如何使聚合函數能夠執行操作特定的資料組,提供有意義且準確的結果。
以上是為什麼在 SQL 中使用聚合函數時 GROUP BY 很重要?的詳細內容。更多資訊請關注PHP中文網其他相關文章!