我正在嘗試爲以下內容編寫查詢:寫表查詢並給出分數
計算過去90天內的事務數。注意:這需要平均爲新會員=(交易數量/成爲會員的天數)x 90
新會員是DateCreated從今天的0到90天之間的會員。
表結構:
Column Name Datatype
---------------------------------
Member_No nvarchar(255)
Order_No int
Transaction_Date datetime
Net money
Date_Created datetime
而且,最後一步是數着交易後,我需要給一個分數。因此,如果一個成員都有數超過8個,然後給出分數的5
以下是範圍:`
Transaction count Score
>8 5
6-8 4
4-6 3
2-4 2
0-2 1
樣本數據:
Member No Sales Order Number Date Created Transaction Date Net
M1 2332 01-10-15 10-07-16 354
M2 2311 12-12-16 14-12-16 53
M3 5422 04-10-14 07-10-14 35
M5 4535 10-10-16 12-11-16 54
M9 5522 03-05-15 07-10-15 55
M3 5422 04-10-14 02-12-16 83
M5 4534 10-10-16 13-12-16 73
M3 5432 04-10-14 09-10-14 35
M3 5484 04-10-14 11-10-16 34
M3 5453 04-10-14 07-11-16 67
M3 5474 04-10-14 09-11-16 56
M3 5493 04-10-14 07-12-16 52
M3 5452 04-10-14 10-12-16 75
M3 5496 04-10-14 11-12-16 34
M3 5442 04-10-14 13-12-16 90
M3 5494 04-10-14 14-12-16 757
M3 5464 04-10-14 16-12-16 72
M5 4542 10-10-16 15-12-16 76
M5 4502 10-10-16 17-12-16 72
M5 4535 10-10-16 18-12-16 43
輸出:
Member No Order Count (In last 90 days) Score
M1 0 1
M2 10 5
M3 9 5
M5 5 3
M9 0 1
[注意:
M1是0,因爲dateCreated會從今天的日期(不是一個新的構件)和構件少於90天最後90天
未成交M2順序計數是10,因爲DaetCreated是內90天數從今天的日期(新成員),也是交易日期在90 天,所以適用公式( 交易/天成爲會員的數量)×90)=(1/10)* 90 = 10這是ordercount> 8 +因此得分爲5.
由於會員在過去90天內進行了9次交易,因此訂單數量爲9。所以得分爲5.
M5的訂單數爲5,因爲DaetCreated在距離今天的日期(新成員)90天內,他的交易日期也在 90天之內,因此應用公式(交易數量/ 構件)×90)=(72分之4)* 90 = 5,它是在定單計數範圍4-6因此 得分3.
讓我知道是否有任何疑問。
沒有,它不是任務 – Shivang
所以你想從你的表中'COUNT(*)',你的成員編號'GROUP BY','WHERE'創建的日期在最近90天內,然後你想檢查每個'CASE' 'COUNT(*)',我猜。 – ZLK
耶,幾乎和那些不合適的人一樣,給他們一個作爲分數...這就是我認爲的主要鎮壓 – Shivang