| 函數 | 說明 | 忽略 NULL |
|---|---|---|
MIN(col) | 最小值 | 是 |
MAX(col) | 最大值 | 是 |
SUM(col) | 總和 | 是 |
AVG(col) | 平均值 | 是 |
COUNT(col) | 非 NULL 行數 | 是 |
COUNT(*) | 總行數(含 NULL) | 否 |
-- 全表平均薪資
SELECT AVG(salary) FROM employee;
-- Programmer 平均薪資
SELECT AVG(salary) FROM employee WHERE title = 'Programmer';
此類查詢直接返回單一標量值,無需分組。
SELECT COUNT(*) AS total_rows,
COUNT(bonus) AS bonus_not_null
FROM employee;
COUNT(*):統計所有行,包含全 NULL 行COUNT(bonus):僅統計 bonus 非 NULL 的行items_ordered 表中最高價格:SELECT MAX(price) FROM items_ordered;items_ordered 表總行數:SELECT COUNT(*) FROM items_ordered;COUNT(DISTINCT dept) 統計不同部門數SUM(CASE WHEN salary > 50000 THEN 1 ELSE 0 END) 統計高薪員工數SUM 可能溢出,大數據量考慮 SUM(CAST(col AS BIGINT))