GROUP BY 將多筆記錄依指定欄位分組,搭配彙總函數產出摘要報表。
SELECT column1, column2, ..., aggregate_function(expression)
FROM tables
WHERE predicates
GROUP BY column1, column2, ...;
規則:SELECT 清單中未包裹在彙總函數的欄位,必須出現在 GROUP BY 中。
SELECT department, SUM(sales) AS "Total sales"
FROM order_details
GROUP BY department;
SELECT category, COUNT(*) AS product_count
FROM products
GROUP BY category
ORDER BY product_count DESC;
SELECT region, salesperson, SUM(amount) AS total_amount
FROM orders
GROUP BY region, salesperson;
HAVING COUNT(*) > 5 AND AVG(score) > 80