Нужен запрос на групповую выборку

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
Dr_Grizzly
Сообщения: 406
Зарегистрирован: 13 сен 2004, 12:05
Откуда: Курган
Контактная информация:

25 мар 2011, 21:28

Добрый день коллеги! Уже вывих мозга заработал себе, не могу сообразить как написать запрос. есть таблица с двумя полями - номер и дата. У одного номера может быть несколько дат. Пример:

___Nomer___|___data___
____110____|_01.01.2011
____110____|_02.01.2011
____220____|_01.01.2011

Нужно вывести количество номеров за период с 01.01.2011 по 30.01.2011
т.е. результат должен содержать одну колонку с одним значением Например:

_Kolvo_
__2__

а за период с 02.01.2011 по 30.01.2011
_Kolvo_
__1__

Код: Выделить всё

select distinct(nomer) from reg where data>=datevalue('01.01.2011') and data<=datevalue('01.02.2011')
только этот код выдает две строки со значением кода... если при этом брать в расчет количество строк - то результат можно сказать верный...
Чем проще - тем оригинальней, а значит гениально, т.к. все гениальное - просто! ;) Да! Кстати! Ctrl+V реально вставляет!!! ХDD
Albor
Сообщения: 482
Зарегистрирован: 06 сен 2004, 13:34
Откуда: Днепропетровск

05 апр 2011, 14:45

Это нужно?

Код: Выделить всё

SELECT COUNT (Nomer) AS _Kol_vo_ FROM (
SELECT Nomer FROM Reg WHERE reg.Data Between #1/1/2011# AND #1/30/2011# GROUP BY Nomer)
Ответить