2013-09-30 43 views
-4

計數列組由SQL數列組由ID

cityID, SCity, MCity, BCity, Flag 
    10, null, 400, null, 0 
    12 350, null, null, 1 
    13 600, null, null, 1 
    13 700, null, null, 1 
    15 null, null, 250, 3 

預期的結果,通過CityID,總和MCity和顯示計數毗鄰城市羣

cityID, SCitycount, SCity, MCitycount, MCity, Bcitycount, BCity, Flag 
    10, 0,   null, 1,   400 0,   null, 0 
    12 1,   350, 0,   null 0,   null, 1 
    13 2,   1100, 0,   null 0,   null, 1 
    15 1,   null, 0,   null 1,   250, 3 

這是我迄今爲止

SELECT 
    cityID, 
    SUM(CASE WHEN Flag = 1 THEN SCity END) AS SCity,  
    SUM(CASE WHEN Flag = 0 THEN MCity END) AS MCity, 
    SUM(CASE WHEN Flag = 3 THEN Bity END) AS BCity, 
    COUNT(*) as count 
FROM #FINALRESULTS 
GROUP BY cityID 

但是,這會給我一個計數在最後。我喜歡顯示列數每列

+1

您必須添加一個問題(你可以區分的,它與一個問號'?'結束的事實),如果你想從我們的任何幫助,更詳細。 –

+0

請提供更多信息。發佈您的查詢。向我們提供有關理解背景背景以及我們在此討論哪些DBMS的信息? – Marco

回答

0
SELECt [cityID], 
COUNT([SCity]), SUM([SCity]), 
COUNT([MCity]), SUM([MCity]), 
COUNT([BCity]), SUM([BCity]), 
[Flag] 
FROM Table1 GROUP BY [cityID], [Flag] 

SAMPLE FIDDLE