我想計算每年 8 月 1 日至 5 月 31 日之間創建的所有物體。(學年)
我每月成功地計算它,但這還不夠好:
SELECT
CAST(MONTH(en.CreatedDate) AS VARCHAR(2)) '-' CAST(YEAR(en.CreatedDate) AS VARCHAR(4)),
COUNT(*) NumberOfEvent
FROM
Entity en
INNER JOIN
Event e ON e.EntityId = en.EntityId
GROUP BY
CAST(MONTH(en.CreatedDate) AS VARCHAR(2)) '-' CAST(YEAR(en.CreatedDate) AS VARCHAR(4))
有人可以幫我弄這個嗎?謝謝。
uj5u.com熱心網友回復:
你可以試試這個:
select Case when MONTH(en.CreatedDate) < 6 Then CAST(YEAR(en.CreatedDate) - 1 AS VARCHAR(4)) '-' CAST(YEAR(en.CreatedDate) AS VARCHAR(4))
Else CAST(YEAR(en.CreatedDate) AS VARCHAR(4)) '-' CAST(YEAR(en.CreatedDate) 1 AS VARCHAR(4)),
count(*) NumberOfEvent
From Entity en
Inner Join Event e on e.EntityId = en.EntityId
Group By Case when MONTH(en.CreatedDate) < 6 Then CAST(YEAR(en.CreatedDate) - 1 AS VARCHAR(4)) '-' CAST(YEAR(en.CreatedDate) AS VARCHAR(4))
Else CAST(YEAR(en.CreatedDate) AS VARCHAR(4)) '-' CAST(YEAR(en.CreatedDate) 1 AS VARCHAR(4))
解釋:當月份小于 6 時,它是 (year - 1) 和 year 的一部分,否則它是 year 和 (year 1) 的一部分
并確保在資料庫中有錯誤資料的情況下不計算第 6 個月和第 7 個月的資料,您可以添加以下條件:
Where Month(en.CreatedDate) < 6 and Month(en.CreatedDate) > 7
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/404970.html
標籤:
