SQL 程式札記 : 聚合函數(Aggregate Functions)

2023/12/22閱讀時間約 4 分鐘

本文將介紹 SQL 中的聚合函數(Aggregate Functions),聚合函數(Aggregate Functions)對於進行數據分析來說非常重要,接下來將透過範例程式碼來說明聚合函數(Aggregate Functions)的應用。

範例資料表創建

開始介紹聚合函數(Aggregate Functions)之前,先把接下來要用到的範例資料表創建起來。

創建 Employees 表的SQL命令

CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Department VARCHAR(50),
Position VARCHAR(50),
Salary DECIMAL(10, 2),
HireDate DATE
);

插入測試數據 :

INSERT INTO Employees (ID, Name, Department, Position, Salary, HireDate) VALUES
(1, '張三', '財務部', '會計', 4500.00, '2020-01-15'),
(2, '李四', '市場部', '市場經理', 6000.00, '2019-06-23'),
(3, '王五', '人事部', 'HR專員', 4000.00, '2021-03-12'),
(4, '趙六', '財務部', '財務分析師', 5500.00, '2018-11-05'),
(5, '孫七', '市場部', '市場助理', 3800.00, '2022-02-20'),
(6, '周八', '技術部', '軟體工程師', 7000.00, '2021-08-15'),
(7, '吳九', '技術部', '數據分析師', 6800.00, '2019-12-01');

什麼是聚合函數?

聚合函數用於對一組值執行計算,並返回單個值。這些函數通常用於數據庫查詢中,以對特定列的數據進行統計分析。

常見的聚合函數

1. COUNT() 函數

COUNT() 函數用於計算表中符合特定條件的行數。

SELECT COUNT(*) FROM Employees;

這個查詢將返回 Employees 表中的行數。

2. SUM() 函數

SUM() 函數用於計算數值列中所有值的總和。

SELECT SUM(Salary) FROM Employees;

這個查詢計算 Employees 表中所有員工的薪資總和。

3. AVG() 函數

AVG() 函數用於計算數值列的平均值。

SELECT AVG(Salary) FROM Employees;

這個查詢計算 Employees 表中員工薪資的平均值。

4. MAX()MIN() 函數

MAX() 函數和 MIN() 函數分別用於找出列中的最大值和最小值。

SELECT MAX(Salary) FROM Employees;
SELECT MIN(Salary) FROM Employees;

這兩個查詢分別找出 Employees 表中員工薪資的最大值和最小值。

聚合函數的進階應用

除了基本的用法,聚合函數還可以與 GROUP BY 語句結合使用,對數據進行分組統計。

使用 GROUP BY 進行分組

GROUP BY 語句通常與聚合函數一起使用,用於將數據分組並對每個組應用聚合函數。

SELECT Department, AVG(Salary) 
FROM table_name
GROUP BY Department;

這個查詢按部門對員工的薪資進行分組,然後計算每個部門的平均薪資。

HAVING 語句

當需要對聚合結果進行過濾時,可以使用 HAVING 語句。它類似於 WHERE 語句,但用於聚合結果。

SELECT Department, AVG(Salary) 
FROM Employees
GROUP BY Department
HAVING AVG(Salary) > 5000;

這個查詢找出平均薪資超過5000的部門。


😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊

❤️按個愛心|💬留言互動|🔗分享此文|📌追蹤阿梧|☕請喝咖啡

51會員
82內容數
「梧笙」即「吾生」,意即我的生命,朋友都叫我「阿梧(Awu)」,高雄人。我喜歡學習新技能,從程式設計到網路工具,再到社群經營和影片剪輯。日常興趣是打遊戲、看動漫、讀小說和聽音樂。我會把這些興趣寫成文章,如果你有任何想法或問題,歡迎來信到我的郵箱 [email protected]
留言0
查看全部
發表第一個留言支持創作者!