2014-01-17 36 views
0

我想要做的主要是:計數資料/行由另一列分組的列

select Type, (Count(*) where Date='')as 10/1, (Count(*) where Date='')as 10/2 
from my table 
group by Type 

我想要什麼它看起來像爲:

Type 10/1 10/2 
1  5  7 
2  3  1 
3  6  9 
4  1  3 
5  9  8 

然而,當我嘗試運行每個計數列內的完整選擇,我最終得到

Type 10/1 10/2 
1  12  15 
2  12  15 
3  12  15 
4  12  15 
5  12  15 

任何建議表示讚賞。我不確定是否需要運行數據透視表,但我不這麼認爲。另外,當我可以在任何特定的日子運行該操作之後,我正在考慮嘗試將日期放入一個變量中,並試圖在日期範圍內運行整個事件,併爲其運行的每一天動態生成列。我可能會爲此創建一個新問題。

回答

2

試試這個;

SELECT TYPE 
     ,SUM(CASE WHEN MyDate = '' THEN 1 ELSE 0 END) AS [10/1] 
     ,SUM(CASE WHEN MyDate = '' THEN 1 ELSE 0 END) AS [10/2] 
FROM MyTable 
GROUP BY TYPE 
+0

這實際上工作。我只需要將[10/1]添加到最後「隨着Oct1」 – riverdog

相關問題