是的,MySQL的聚合函數可以處理多表數據。在MySQL中,可以使用JOIN語句將多個表連接在一起,然后使用聚合函數(如COUNT、SUM、AVG、MIN和MAX)對連接后的數據進行匯總和分析。
以下是一個簡單的示例,展示了如何使用聚合函數處理多表數據:
假設我們有兩個表:orders
(包含訂單信息)和customers
(包含客戶信息)。
orders表結構如下:
order_id | customer_id | order_date | total_amount |
---|---|---|---|
1 | 1 | 2021-06-01 | 100.00 |
2 | 2 | 2021-06-01 | 150.00 |
3 | 1 | 2021-06-02 | 75.00 |
customers表結構如下:
customer_id | customer_name | city |
---|---|---|
1 | Alice | New York |
2 | Bob | Los Angeles |
現在,我們想要計算每個客戶的總訂單金額。可以使用以下SQL查詢:
SELECT c.customer_id, c.customer_name, SUM(o.total_amount) as total_spent
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_id, c.customer_name;
這個查詢首先使用JOIN語句將customers
表和orders
表連接在一起,然后使用聚合函數SUM()計算每個客戶的總訂單金額。最后,使用GROUP BY子句按客戶ID和客戶名對結果進行分組。