在MySQL中,分組查詢通常使用GROUP BY
子句來實現。GROUP BY
子句可以將結果集中的記錄分組,以便對每個組執行聚合函數,如COUNT()、SUM()、AVG()、MIN()和MAX()等。以下是一個簡單的分組查詢示例:
假設我們有一個名為orders
的表,其中包含以下列:order_id
(訂單ID)、customer_id
(客戶ID)和amount
(訂單金額)。
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
amount DECIMAL(10, 2)
);
現在,我們想要查詢每個客戶的訂單總金額。可以使用以下SQL語句實現:
SELECT customer_id, SUM(amount) as total_amount
FROM orders
GROUP BY customer_id;
這個查詢將按customer_id
對訂單進行分組,并計算每個客戶的訂單總金額。結果集將包含兩列:customer_id
和total_amount
。
如果你還想要查詢每個客戶的訂單數量,可以使用以下SQL語句實現:
SELECT customer_id, COUNT(order_id) as order_count, SUM(amount) as total_amount
FROM orders
GROUP BY customer_id;
這個查詢將按customer_id
對訂單進行分組,并計算每個客戶的訂單數量和訂單總金額。結果集將包含三列:customer_id
、order_count
和total_amount
。