下面的查詢返回準確的信息,我只是還沒有任何運氣試圖使這個:待定每月SQL計數
1)更多動態的,所以我不會每個月都
重複相同的代碼行2)格式不同,因此需要短短2個月+年列由字段1 +場2
示例代碼來查看待計數(基本上,和當(OPEN日期前/上月的最後一天)和(關閉日期在月份之後或它仍然打開)
SELECT
SUM(CAST(case when OPENDATE <= '2014-11-30 23:59:59'
and ((CLOSED >= '2014-12-01')
or (CLOSED is null)) then '1' else '0' end as int)) Nov14
,SUM(CAST(case when OPENDATE <= '2014-12-31 23:59:59'
and ((CLOSED >= '2015-01-01')
or (CLOSED is null)) then '1' else '0' end as int)) Dec14
,SUM(CAST(case when OPENDATE <= '2015-01-30 23:59:59'
and ((CLOSED >= '2015-02-01')
or (CLOSED is null)) then '1' else '0' end as int)) Jan15
,FIELD1,FIELD2
FROM T
GROUP BY FIELD1,FIELD2
個
結果:
FIELD1 FIELD2 NOV14 DEC14 JAN15
A A 2 5 7
A B 6 8 4
C A 5 6 5
...
相反的:
COUNT FIELD1 FIELD2 MO YR
14 A A 12 2014
18 A B 12 2014
16 C A 1 2015
...
有沒有辦法一次性得到這個?對不起,如果這是一個重複的話題,我已經看了一些董事會,他們幫助我得到了結算......但使用兩個日期字段之間的範圍,我沒有任何運氣。提前
感謝
您可以添加更多示例輸入和所需輸出嗎?並生成一個'sqlfiddle.com'demo? – 2015-02-05 18:10:39