SQL-函式 - 聚合函式

zydow發表於2024-12-04

在 SQL 中,聚合函式是一類用於對資料集進行 彙總計算 的特殊函式。它們可以對一組資料執行諸如計數、求和、平均值、最大值和最小值等操作。聚合函式通常在 SELECT 語句中配合 GROUP BY 子句使用,用於對分組後的資料進行彙總分析。

常見的聚合函式包括:

COUNT:計算指定列的行數或非空值的數量。
SUM:計算指定列的數值之和。
AVG:計算指定列的數值平均值。
MAX:找出指定列的最大值。
MIN:找出指定列的最小值。

示例

假設有一個訂單表 orders,包含以下欄位:order_id(訂單號)、customer_id(客戶編號)、amount(訂單金額)。資料如下:

order_id customer_id amount
1 A001 100
2 A002 200
3 A001 150
4 A003 50

1)使用聚合函式 COUNT 計算訂單表中的總訂單數:

SELECT COUNT(*) AS order_num FROM orders

查詢結果:

order_num
4

2)使用聚合函式 COUNT(DISTINCT 列名) 計算訂單表中不同客戶的數量:

SELECT COUNT(DISTINCT customer_id) AS customer_num FROM orders

查詢結果:

customer_num
3

3)使用聚合函式 SUM 計算總訂單金額:

SELECT SUM(amount) AS total_amount FROM orders

查詢結果:

total_amount
500

題目

假設有一個學生表 student,包含以下欄位:id(學號)、name(姓名)、class_id(班級編號)、score(成績)。請你編寫一個 SQL 查詢,彙總學生表中所有學生的總成績(total_score)、平均成績(avg_score)、最高成績(max_score)和最低成績(min_score)。

id name class_id score
1 雞哥 1 2.5
2 魚皮 1 400
3 熱dog 2 600
4 摸FISH 2 360
5 李阿巴 3 120
6 老李 3 500
7 李變數 4 390
8 王加瓦 4 0
9 趙派森 4 600
10 孫加加 5 100.5
點選檢視答案
select
SUM(score) as total_score,
AVG(score) as avg_score,
MAX(score) as max_score,
MIN(score) as min_score
from student

相關文章