помогите составить запрос
От: RobinHood  
Дата: 01.02.12 10:18
Оценка:
Всем доброго времени суток.

есть таблица:
id , event_id , count
1 | 2 | 10
2 | 2 | 10
3 | 5 | 8
4 | 29 | 15
5 | 29 | 7
6 | 7 | 3


допустим:
event_id 2 это первый тип;
event_id 29 это второй тип;

все остальные event_id (не 2 и не 29) ето третий тип.

мне нужно получить в таблицу сумму count-ов по каждому типу



первый тип , второй тип , третий тип
20 22 , 11


помогите пожалуйста состажить запрос.

Заранее спасибо.
Re: помогите составить запрос
От: Alex.Che  
Дата: 01.02.12 10:28
Оценка: 3 (1)
Hello, RobinHood!
You wrote on Wed, 01 Feb 2012 14:18:20

> допустим:

> event_id 2 это первый тип;
> event_id 29 это второй тип;
> все остальные event_id (не 2 и не 29) ето третий тип.
> мне нужно получить в таблицу сумму count-ов по каждому типу

SUM(CASE WHEN event_id = 2 THEN count END),
SUM(CASE WHEN event_id = 29 THEN count END),
SUM(CASE WHEN event_id NOT IN (2, 29) THEN count END)


зы: а в твоем сервере клауза COUNT
разве не зарезервированное слово?

--
With best regards, Alex Cherednichenko.
Posted via RSDN NNTP Server 2.1 beta
Re[2]: помогите составить запрос
От: RobinHood  
Дата: 01.02.12 10:40
Оценка:
Здравствуйте, Alex.Che, Вы писали:

AC>Hello, RobinHood!

AC>You wrote on Wed, 01 Feb 2012 14:18:20

>> допустим:

>> event_id 2 это первый тип;
>> event_id 29 это второй тип;
>> все остальные event_id (не 2 и не 29) ето третий тип.
>> мне нужно получить в таблицу сумму count-ов по каждому типу

AC>
AC>SUM(CASE WHEN event_id = 2 THEN count END),
AC>SUM(CASE WHEN event_id = 29 THEN count END),
AC>SUM(CASE WHEN event_id NOT IN (2, 29) THEN count END)
AC>


AC>зы: а в твоем сервере клауза COUNT

AC>разве не зарезервированное слово?

AC>--

AC>With best regards, Alex Cherednichenko.


Да , зарезервированное
Re: помогите составить запрос
От: svanir Украина  
Дата: 01.02.12 11:00
Оценка: 9 (1)
Здравствуйте, RobinHood, Вы писали:

RH>Всем доброго времени суток.


RH>есть таблица:

RH>id , event_id , count
RH>1 | 2 | 10
RH>2 | 2 | 10
RH>3 | 5 | 8
RH>4 | 29 | 15
RH>5 | 29 | 7
RH>6 | 7 | 3


RH> допустим:

RH>event_id 2 это первый тип;
RH>event_id 29 это второй тип;

RH>все остальные event_id (не 2 и не 29) ето третий тип.


RH>мне нужно получить в таблицу сумму count-ов по каждому типу




RH>первый тип , второй тип , третий тип

RH>20 22 , 11


RH>помогите пожалуйста состажить запрос.


RH>Заранее спасибо.



CREATE TABLE #NAIMABS ([ID_R] INT IDENTITY(1,1)
,[event_id] INT
,[cnt] INT
)

INSERT INTO #NAIMABS
SELECT 2,10
INSERT INTO #NAIMABS
SELECT 2,10
INSERT INTO #NAIMABS
SELECT 5, 8
INSERT INTO #NAIMABS
SELECT 29, 15
INSERT INTO #NAIMABS
SELECT 29, 7
INSERT INTO #NAIMABS
SELECT 7 , 3

SELECT CASE WHEN [event_id]=2 THEN 1
WHEN [event_id]=29 THEN 2
ELSE 3 END AS TYP
,SUM([cnt])
FROM #NAIMABS
GROUP BY CASE WHEN [event_id]=2 THEN 1
WHEN [event_id]=29 THEN 2
ELSE 3 END

DROP TABLE #NAIMABS
Re: помогите составить запрос
От: KenSv  
Дата: 13.02.12 07:26
Оценка:
Здравствуйте, RobinHood, Вы писали:

RH>Всем доброго времени суток.


RH>есть таблица:

RH>id , event_id , count
RH>1 | 2 | 10
RH>2 | 2 | 10
RH>3 | 5 | 8
RH>4 | 29 | 15
RH>5 | 29 | 7
RH>6 | 7 | 3

RH>мне нужно получить в таблицу сумму count-ов по каждому типу




RH>первый тип , второй тип , третий тип

RH>20 22 , 11


Попробуйте select count(distinct event_id) ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.