Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Группировка с вынесением в отделные колонки  [new]
Fir$t
Member

Откуда:
Сообщений: 151
Здравствуйте,

Мучает вопрос:

Есть таблица

id	xy	datestamp
9	2	201213121245
9	1	201213122031
9	2	201213122335
9	1	201213123627
2	1	20121314438
2	1	20121315311
2	1	201213154316
2	1	20121316104

Нужно сгруппировать записи по id и посчитать сколько двоек и единичек есть в колонке XY, для каждого id.
Результаты надо вынести в отдельные колонки(что меня, собственно и запутало).

Как мне сделать выборку, резултат которой показан ниже?

id  |	kolichEdinicXY	| 	kolichDvoekXY
9		2       		2
2   		4       		0


Заранее благодарю всех за поддержку!
4 янв 12, 09:43    [11857312]     Ответить | Цитировать Сообщить модератору
 Re: Группировка с вынесением в отделные колонки  [new]
Fir$t
Member

Откуда:
Сообщений: 151
Пробую так:


select id, count(xy1) as kolichEdinicXY
from 
(
	SELECT    
	id
	,COUNT (xy)  as xy1
	,timestamp
	FROM    dbo.V_CD
	group by id, timestamp
	having COUNT (xy) = 1 -- beru tolko edinici
)
as tbl
group by id


Получаю:

id  |	kolichEdinicXY
9		2       		
2   		4       		


Я думаю что знатоки могли би показать мне способ по-элегантней...
Всё еще не могу справится со второй колонкой.
Подскажите, кто умеет
4 янв 12, 11:07    [11857375]     Ответить | Цитировать Сообщить модератору
 Re: Группировка с вынесением в отделные колонки  [new]
гм
Guest
select id,
sum(case when xy=1 then 1 esle 0 end),
sum(case when xy=2 then 1 esle 0 end)
group by id
4 янв 12, 11:19    [11857399]     Ответить | Цитировать Сообщить модератору
 Re: Группировка с вынесением в отделные колонки  [new]
Fir$t
Member

Откуда:
Сообщений: 151
Спасибо Вам большое!!

А то уж замаялся совсем :)
4 янв 12, 11:28    [11857419]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить