在 SQL 中,GROUP BY
子句用于將查詢結果按照一個或多個列進行分組。這使得你可以對每個分組應用聚合函數(如 COUNT、SUM、AVG、MAX 和 MIN),從而計算每個分組的統計信息。
以下是 GROUP BY
的基本語法:
SELECT column1, column2, ..., columnN, aggregate_function(column)
FROM table_name
WHERE conditions
GROUP BY column1, column2, ..., columnN;
其中,aggregate_function
是一個聚合函數,用于計算每個分組的統計信息。
下面是一個具體的示例。假設我們有一個名為 orders
的表,其中包含以下列:order_id
、customer_id
和 amount
。現在,我們想要計算每個客戶的訂單總金額。我們可以使用以下查詢:
SELECT customer_id, SUM(amount) as total_amount
FROM orders
GROUP BY customer_id;
這將返回一個結果集,其中包含每個客戶的 customer_id
和他們所有訂單的總金額(total_amount
)。
注意,當使用 GROUP BY
時,SELECT 子句中的非聚合列必須包含在 GROUP BY
子句中。此外,GROUP BY
子句中的列順序也會影響結果集的排序。如果需要對結果集進行排序,可以使用 ORDER BY
子句。