Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выбрать топ записей из каждой группы / 10 сообщений из 10, страница 1 из 1
04.08.2016, 08:56
    #39285855
forestry96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать топ записей из каждой группы
Можно ли одним запросом из отсортированного набора записей по каждой группе выбрать необходимый ТОП лидеров.
Как на рисунке ниже


Таких групп более 50. Или надо составить на каждую группу отдельный запрос?

И еще вопрос:
В конструкции Select Top 40 можно ли число отбираемых записей брать значением из имеющейся таблицы базы?
И как это тогда записать?
...
Рейтинг: 0 / 0
04.08.2016, 09:17
    #39285871
forestry96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать топ записей из каждой группы
аля1ст.е.
У Вас есть некий Критерий,
кот-й в Диапазоне
От и До


имхо

сделать соответствующую Тблку
и юзать ея по смыслу

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

Что такое "Тблку"
...
Рейтинг: 0 / 0
04.08.2016, 09:38
    #39285897
TOP,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать топ записей из каждой группы
...
Рейтинг: 0 / 0
04.08.2016, 10:15
    #39285934
forestry96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать топ записей из каждой группы
TOP,forestry96,

использование в SELECT'е

Данный пример я так понял только для отбора одинакового числа первых записей?
А если надо в первой группе отобрать 20, во второй 25, в третьей 15?

Приложу вырезку из базы. Запрос сделан по ранжиру специальностей и сумме балов.
В каждой специальности надо отобрать первые записи по плану приема в описании таблицы специальности.
...
Рейтинг: 0 / 0
04.08.2016, 10:44
    #39285977
forestry96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать топ записей из каждой группы
аля1с- в первой группе отобрать 8, во второй 11, в третьей 4?

Приложение об этом как-то должно знать
и откуда-то брать


Допустим я готов это прописать жестко ручками в самом запросе (меняется эта цифра раз в год).
...
Рейтинг: 0 / 0
04.08.2016, 10:48
    #39285982
TOP,
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать топ записей из каждой группы
forestry96,

тогда, у тебя в запросе, в условии, вместо константы (в примере по ссылке "3"), будет подзапрос, который определяет это число ("в первой группе отобрать 20, во второй 25, в третьей 15")

Код: sql
1.
2.
3.
...
FROM Главная as T
where (select КвоНужноОтобрать from Специальности T2 where T2.Специальность=T.Специальность) >= (SELECT Count(*) FROM Главная as T1 where T1.Специальность=T.Специальность and T1.Бал>=T.Бал)
...
Рейтинг: 0 / 0
04.08.2016, 12:06
    #39286112
forestry96
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать топ записей из каждой группы
TOP,forestry96,

тогда, у тебя в запросе, в условии, вместо константы (в примере по ссылке "3"), будет подзапрос, который определяет это число ("в первой группе отобрать 20, во второй 25, в третьей 15")

Код: sql
1.
2.
3.
...
FROM Главная as T
where (select КвоНужноОтобрать from Специальности T2 where T2.Специальность=T.Специальность) >= (SELECT Count(*) FROM Главная as T1 where T1.Специальность=T.Специальность and T1.Бал>=T.Бал)



Огромное спасибо за конструктивный диалог и помощь.
...
Рейтинг: 0 / 0
17.11.2016, 22:25
    #39349506
Выбрать топ записей из каждой группы
Появилась аналогичная задача, но только для каждой группы нужна лишь первая запись с максимальным значением поля Бал (см. задание ТС в первом посте).

Напишите, пожалуйста, кто знает, как будет выглядеть запрос
...
Рейтинг: 0 / 0
17.11.2016, 23:01
    #39349512
guest_rusimport
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбрать топ записей из каждой группы
Тупой гостьПоявилась аналогичная задача, но только для каждой группы нужна лишь первая запись с максимальным значением поля Бал (см. задание ТС в первом посте).

Напишите, пожалуйста, кто знает, как будет выглядеть запрос
...
Рейтинг: 0 / 0
17.11.2016, 23:31
    #39349514
Выбрать топ записей из каждой группы
guest_rusimport,
Тупой я действительно.
Как все просто (((((
Спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выбрать топ записей из каждой группы / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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