在數據庫中,GROUP BY語句用于按照一個或多個列對結果集進行分組。它通常與聚合函數(如COUNT,SUM,AVG等)一起使用,以計算分組后的結果。
以下是使用GROUP BY語句的基本語法:
SELECT 列1, 列2, … 列n FROM 表名 GROUP BY 列1, 列2, … 列n;
這里的列1,列2,… 列n是要分組的列名。
例如,假設有一個名為"orders"的表,其中包含訂單號(order_id)、客戶號(customer_id)和訂單金額(amount)等列。要按客戶號分組并計算每個客戶的訂單總金額,可以使用以下SQL查詢:
SELECT customer_id, SUM(amount) FROM orders GROUP BY customer_id;
該查詢將按customer_id列進行分組,并計算每個客戶的訂單總金額。
另外,GROUP BY語句還可以與HAVING子句一起使用,用于篩選分組后的結果。HAVING子句是在GROUP BY之后執行的,用于過濾滿足特定條件的分組。
例如,要篩選訂單總金額大于1000的客戶,可以使用以下查詢:
SELECT customer_id, SUM(amount) FROM orders GROUP BY customer_id HAVING SUM(amount) > 1000;
該查詢將按customer_id列進行分組,并篩選出訂單總金額大于1000的客戶。