2013-06-02 20 views
0

我是新來的SQL,我試圖建立一個SQL查詢針對SQL Server CE 4數據庫,基於數字同一列(CompanyNameActive狀態(0或1)。我需要「總計」,「主動」和「主動」狀態。我認爲這是一個針對Total,Active和In Active的子查詢,但我不確定如何構建它。T-SQL查詢計數相同列Multipe時間

本質上,我想有一個表,將提供像這樣的結果基於CompanyName

State  Total Active InActive 
Texas  10  6  4 
Florida 15  5  10 

的基本查詢我至今是

SELECT State, COUNT(CompanyName) AS Total 
FROM JobApps AS j 
GROUP BY State 
ORDER BY Total DESC 

任何幫助表示讚賞。

回答

3

SUM在同一分組,使用CASE聲明:

SELECT State, COUNT(CompanyName) AS Total 
, SUM(CASE Active WHEN 1 THEN 1 ELSE 0 END) AS Active 
, SUM(CASE Active WHEN 1 THEN 0 ELSE 1 END) AS InActive 
FROM JobApps AS j 
GROUP BY State 
ORDER BY Total DESC 
+0

它的工作原理!謝謝,現在我知道要去了解更多。 –

+0

太棒了!很高興幫助:) –