簡體   English   中英

如何計算每個月每種客戶類型的購買價值?

[英]How to sum purchase value from each customer type each month?

我有兩張桌子。

顧客

客戶ID 顧客類型
1 學生
2 藍色的

訂單

order_id 客戶ID 購買價值 日期
001 1 500 2021-06-03
002 2 600 2021-03-01

我想進行查詢以顯示每種客戶類型的每月總購買量,預計如下所示:

學生 藍色的
3 0 600
6 500 0

我試過像這樣使用子查詢:

SELECT 
month(order_date) as month, 
(SELECT sum(order_value)  from orders JOIN customers
    ON customers.customer_id = orders.customer_id
    WHERE customers.customer_type LIKE 'Business'
    GROUP BY month, customers.customer_type) as personal
from orders
JOIN customers
ON customers.customer_id = orders.customer_id

但仍然失敗,我想嘗試在JOIN中使用子查詢,但有點困惑。 你有解決這個問題的辦法嗎?

使用條件聚合:

SELECT MONTH(o.order_date) as month, 
       SUM(CASE WHEN c.customer_type = 'student' THEN order_value END) as student,
       SUM(CASE WHEN c.customer_type = 'blue' THEN order_value END) as blue
FROM orders o JOIN
     customers c
     ON c.customer_id = o.customer_id
GROUP BY MONTH(o.order_date);

子查詢是不必要的。 請注意,使用month()而不考慮年份通常會產生無效結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM