powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Top Ten and GROUP BY
5 сообщений из 5, страница 1 из 1
Top Ten and GROUP BY
    #32026407
ReaperMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа SQL программеры!
Вот возникла забавная задачка:
Пусть есть гипотетическая табла следующей структуры:

CREATE TABLE Test ( dt smalldatetime primary key, name char(15), quantity int )

Треба выбрать следующую инфу:

SELECT
dt,
name,
Sum(quantity) as [total]
FROM Test
WHERE dt BETWEEN @StartDate AND @EndDate
GROUP BY dt, name
ORDER BY dt ASC, total DESC

НО: помимо простой группировки по дате и наименованию необходимо, чтобы в пределах одного дня отображалось не более N наименований, т.е. в результирующей выборке как бы должен быть типа "топ 10" (и не больше) по каждому дню. Что-то я никак не соображу, как это покрасивше сделать...
...
Рейтинг: 0 / 0
Top Ten and GROUP BY
    #32027022
Antonoff@Pilot.ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень просто
Select top 10 * from
(SELECT
dt,
name,
Sum(quantity) as [total]
FROM Test
WHERE dt BETWEEN @StartDate AND @EndDate
GROUP BY dt, name
ORDER BY dt ASC, total DESC)
...
Рейтинг: 0 / 0
Top Ten and GROUP BY
    #32027198
Michael Hopgarden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ReaperMan

group by по primary key

А подобный вопрос, ИМХО, обсуждался в этом или прошлом месяце. Поищите.
...
Рейтинг: 0 / 0
Top Ten and GROUP BY
    #32027275
ReaperMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Antonoff@Pilot.ru
Не покатит. Ибо мне надо было выбрать ВСЕ группы, но В КАЖДОЙ чтобы было только топ тен записей в нее попадающих. А не первую десятку из всего множества групп.

2 Michael Hopgarden
> group by по primary key
И чем это поможет?

З.Ы. Темку вообще-то можно и прикрыть, т.к. давно уже все сделал.
...
Рейтинг: 0 / 0
Top Ten and GROUP BY
    #32027290
Michael Hopgarden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ReaperMan

group by по primary key это не моя идея, а Ваша опечатка. Чего, кстати, и не заметил Antonoff@Pilot.ru, как, собственно, и смысла вопроса.

> ЗЫ...
ok
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Top Ten and GROUP BY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]