在SQL中,GROUP BY
用于將行分組為一個或多個匯總行,并對每個組應用聚合函數(如COUNT
、SUM
、AVG
等)。它通常與SELECT
語句一起使用來生成分組數據的匯總結果。
GROUP BY
語句的一般語法如下:
SELECT 列1, 列2, ..., 聚合函數(列)
FROM 表名
WHERE 條件
GROUP BY 列1, 列2, ...
GROUP BY
語句主要有以下幾個用途:
按照指定的列對數據進行分組,生成分組的匯總結果。
可以配合聚合函數對每個組進行匯總計算,如計算每個組的總數、平均值、最大值等。
可以在查詢結果中使用HAVING
子句,對分組結果進行過濾。
例如,假設有一個orders
表,包含訂單的信息,其中有customer_id
(顧客ID)、order_date
(訂單日期)和total_amount
(訂單金額)等列。現在想要按照顧客ID分組,并統計每個顧客的訂單數量和訂單總金額,可以使用以下SQL查詢:
SELECT customer_id, COUNT(*) AS order_count, SUM(total_amount) AS total_amount_sum
FROM orders
GROUP BY customer_id
查詢結果將會按照顧客ID進行分組,并顯示每個組的顧客ID、訂單數量和訂單總金額。