2013-09-30 5 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

Пожалуйста, предоставьте дополнительную информацию. Отправьте свой запрос. Дайте нам информацию о контексте для понимания и о том, какие СУБД мы говорим здесь? – 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

Смежные вопросы