| 函數 | 說明 | 忽略 NULL |
|---|---|---|
| AVG(col) | 平均值 | ✅ |
| COUNT(*) | 行數 (含 NULL 行) | ❌ (不忽略) |
| COUNT(col) | 非 NULL 個數 | ✅ |
| MAX(col) | 最大值 | ✅ |
| MIN(col) | 最小值 | ✅ |
| SUM(col) | 總和 | ✅ |
-- 指定供應商商品平均價
SELECT AVG(prd_price) AS avg_price
FROM products
WHERE vend_id = 1003;
-- 總行數
SELECT COUNT(*) FROM orders;
-- 有效 email 用戶數
SELECT COUNT(email) FROM users; -- NULL email 不計入
-- 最高/最低價商品
SELECT MAX(prod_price) AS max_price, MIN(prod_price) AS min_price
FROM products;
-- 文本列:按排序規則首/尾行
SELECT MAX(name) FROM users; -- 字典序最後
SELECT MIN(name) FROM users; -- 字典序最前
-- 訂單總商品數量
SELECT SUM(num) AS total_qty FROM order_items WHERE order_id = 123456;
-- 訂單總金額 (表達式求和)
SELECT SUM(item_price * num) AS total_amount FROM order_items WHERE order_id = 123456;
-- 不同價格的平均值 (去重後平均)
SELECT AVG(DISTINCT prd_price) AS avg_distinct_price
FROM products WHERE vend_id = 1003;
⚠️ `COUNT(DISTINCT col)` 統計非 NULL 不重複值個數;`SUM(DISTINCT col)` 去重後求和 (極少用)。
SELECT
COUNT(*) AS total_rows,
MIN(prod_price) AS price_min,
MAX(prod_price) AS price_max,
AVG(prod_price) AS price_avg
FROM products;
一次掃描輸出四大核心指標,效能遠優於多次查詢。