銷售表
Sale_ID整數
Sale_approved_date 日期
Store_ID 整數
存盤表
Store_ID 整數
Store_Name varchar
Store_Special 布林值
我添加了以下代碼來計算 Store_Special 相對于 2018 年的整體 store_special 。我似乎無法進行計算,我需要兩個 group by 來提取沒有 st 條件的整體條件。 store_special = 1。
預期結果: dd.store_special = 1/ dd.store_special =1 或 dd.store_special = 0(store_special 總數)==> 按月分組查看 store special = 1 / 無條件 / 無條件總數的比率。
SELECT Datepart(month,s.sale_approved_date) AS month,
Count(Datepart(month,s.sale_approved_date))/ (Sum((Datepart(month,s.sale_approved_date)) )
from sales s
LEFT JOIN store AS st
ON s.store_id = st.store_id
WHERE datepart(year,.sale_approved_date) = '2018'
AND dd.store_special = 1
GROUP BY datepart(month,.sale_approved_date)
ORDER BY count(*) DESC
uj5u.com熱心網友回復:
您可以使用 selectcase陳述句來實作這一點。這是store_special = true總計數的比率
SELECT Datepart(month,s.sale_approved_date) AS month,
sum(case when dd.store_special = 1 then 1 else 0 end)/count()
from sales s
LEFT JOIN store AS st
ON s.store_id = st.store_id
WHERE datepart(year, s.sale_approved_date) = '2018'
GROUP BY datepart(month, s.sale_approved_date)
ORDER BY count(*) DESC
uj5u.com熱心網友回復:
獲得計數后,您需要確保將分子或分母轉換為浮點型別 (*1.0) 以獲得預期的比率。否則,比率將為零。
SELECT MONTH(S.sale_approved_date) AS Month,
COUNT(CASE WHEN ST.store_special = 1 THEN 1 END)*1.0 /COUNT(*) AS Ratio
FROM Store ST
JOIN Sales S
ON ST.Store_ID = S.Store_ID
WHERE YEAR(S.sale_approved_date) = 2018
GROUP BY MONTH(S.sale_approved_date)
ORDER BY COUNT(*) DESC
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/398328.html
