在PostgreSQL(通常簡稱為PgSQL)中,GROUP BY子句用于將查詢結果按照一個或多個列進行分組
以下是一個使用GROUP BY的基本示例:
SELECT column1, column2, aggregate_function(column3)
FROM table_name
WHERE conditions
GROUP BY column1, column2;
這里的aggregate_function是一個聚合函數,如COUNT(), SUM(), AVG(), MIN()或MAX()等。GROUP BY子句將根據column1和column2的值對結果進行分組,并對每個組應用聚合函數。
例如,假設我們有一個名為orders的表,其中包含customer_id(客戶ID)、order_date(訂單日期)和amount(金額)列。我們想要計算每個客戶的總訂單金額。我們可以使用以下查詢:
SELECT customer_id, SUM(amount) as total_amount
FROM orders
GROUP BY customer_id;
這將返回一個結果集,其中每行包含一個客戶ID和該客戶的所有訂單的總金額。
注意,當使用GROUP BY時,SELECT子句中的非聚合列必須包含在GROUP BY子句中。此外,GROUP BY子句中的列必須存在于FROM子句中指定的表中。