2014-09-20 6 views
0

У меня есть таблица, как этотподсчет Выбор в несколько столбцов

MonthYear JobType JobID 
01-2014 FullTime 1 
01-2014 PartTime 2 
02-2014 FullTime 3 
03-2014 FullTime 4 
04-2014 PartTime 5 
04-2014 PartTime 6 
04-2014 FullTime 7 

Я хочу, чтобы выбрать количество каждого типа задания, сгруппированные по MonthYear следующим образом.

MonthYear FullTime PartTime 
01-2014 1   1 
02-2014 1   0 
03-2014 1   0 
04-2014 1   2 

Может кто-нибудь предложить, как этого достичь? Спасибо.

ответ

2
SELECT MonthYear, 
SUM(CASE WHEN JobType='FullTime' THEN 1 ELSE 0 END) as FullTime , 
SUM(CASE WHEN JobType='PartTime' THEN 1 ELSE 0 END) as PartTime 
FROM t 
GROUP BY MonthYear 
0

решение Pivot:

SELECT 
    [MonthYear], 
    [FullTime], 
    [PartTime] 
FROM 
(values 
    ('01-2014', 'FullTime',1), 
    ('01-2014', 'PartTime',2), 
    ('02-2014', 'FullTime',3), 
    ('03-2014', 'FullTime',4), 
    ('04-2014', 'PartTime',5), 
    ('04-2014', 'PartTime',6), 
    ('04-2014', 'FullTime',7)) x(MonthYear, JobType, JobID) 
PIVOT (count(JobType) 
for JobType 
in([FullTime],[PartTime]) 
)as p 
ORDER BY MonthYear 
Смежные вопросы