如果最近的銷售沒有記錄任何價值,我想根據特定的時間範圍(9到3個月前)找到數據庫中以前記錄的平均值。原因是我們網站上的最近銷售有時不會立即收取佣金,因此我需要回到歷史記錄以找出佣金估算值。計算MySQL自己加入以獲取平均數
佣金率如下:
total_commission/gross_sales
它是隻需要找出一個估計會是什麼,如果近期的銷售有記錄
這裏沒有「total_commission」是我費了很大的到目前爲止,但我認爲這是錯誤的:
SELECT
cs.*
,SUM(cs2.gross_sales)
,SUM(cs2.total_commission)
FROM
(SELECT
sale_id
, date
, customer_code
, customer_country
, gross_sales
, total_commission
FROM customer_sale cs) cs
LEFT JOIN customer_sale cs2
ON cs2.customer_code = cs.customer_code
AND cs2.customer_country = cs.customer_country
AND cs2.date > cs.date - interval 9 month
AND cs2.date < cs.date - interval 3 month
GROUP BY cs.sale_id
,這樣的數據將被結構如下:
sale_id date customer_code customer_country gross_sales total_commission
1 2013-12-01 cust1 united states 10000 1500
2 2013-12-01 cust2 france 20000 3000
3 2013-12-01 cust3 united states 15000 2250
4 2013-12-01 cust4 france 14000 2100
5 2013-12-01 cust5 united states 13000 1950
6 2013-12-01 cust6 france 12000 1800
7 2014-04-02 cust1 united states 10000
8 2014-04-02 cust2 france 20000
9 2014-04-02 cust3 united states 15000
10 2014-04-02 cust4 france 14000
11 2014-04-02 cust5 united states 13000
12 2014-04-02 cust6 france 12000
所以我需要的輸出結果從類似這樣的查詢:(基於同一customer_country 9和3個月前與銷售來自同一customer_code)
sale_id date customer_code customer_country gross_sales total_commission gross_sales_past total_commission_past
1 2013-12-01 cust1 united states 10000 1500
2 2013-12-01 cust2 france 20000 3000
3 2013-12-01 cust3 united states 15000 2250
4 2013-12-01 cust4 france 14000 2100
5 2013-12-01 cust5 united states 13000 1950
6 2013-12-01 cust6 france 12000 1800
7 2014-04-02 cust1 united states 10000 10000 1500
8 2014-04-02 cust2 france 20000 20000 3000
9 2014-04-02 cust3 united states 15000 15000 2250
10 2014-04-02 cust4 france 14000 14000 2100
11 2014-04-02 cust5 united states 13000 13000 1950
12 2014-04-02 cust6 france 12000 12000 1800
考慮提供適當的DDL(和/或sqlfiddle)連同SET – Strawberry
+1所期望的結果。不知道爲什麼這個問題是downvoted,或爲什麼投票結束,因爲OP問題是非常明確的。 (我們可能有幾個問題,比如customer_sales表中的sale_id是唯一的(它看起來像是PRIMARY KEY,但我們可以注意到我們正在做出這個假設。) – spencer7593