| 函數 | 用途 | 語法 | 範例 |
|---|---|---|---|
| AVG | 平均值 | AVG(col) | SELECT AVG(uid) FROM user; → 2.5 |
| SUM | 總和 | SUM(col) | SELECT SUM(uid) FROM user; → 10 |
| MAX | 最大值 | MAX(col) | SELECT MAX(uid) FROM user; → 4 |
| MIN | 最小值 | MIN(col) | SELECT MIN(uid) FROM user; → 1 |
注意:僅適用數值型欄位,字串型雖可執行但無意義;單次查詢只能針對單一欄位。
SELECT MAX(uid) AS max_uid, MIN(uid) AS min_uid, AVG(uid) AS avg_uid, SUM(uid) AS sum_uid FROM user;
結果:
max_uid min_uid avg_uid sum_uid 4 1 2.5000 10
SELECT MAX(uid), username FROM user;
MySQL 允許執行(非 ONLY_FULL_GROUP_BY 模式),但 username 取值不確定(通常是第一行),業務含義錯誤。
SELECT SUM(CASE WHEN sex=1 THEN 1 ELSE 0 END) AS male_cnt, SUM(CASE WHEN sex=2 THEN 1 ELSE 0 END) AS female_cnt FROM user;
COUNT(*) 在 MyISAM 為 O(1),InnoDB 需掃描;COUNT(col) 忽略 NULL