Страницы

Поиск по вопросам

понедельник, 15 октября 2018 г.

Ограничение количества строк с IN

Есть SQL запрос:
SELECT * FROM technologies WHERE technology_category_id IN (1,2,3)
Можно ли одним запросом вывести по шесть строк для каждого id, которые внутри IN? LIMIT ограничивает общее количество результатов.


Ответ

Можно использовать партиционирование
select * from ( select *, row_number() over (partition by technology_category_id order by technology_category_id) num from technologies where technology_category_id in (1,2,3) ) tech where num <= 6
В order by задайте нужный вам порядок сортировки, если хотите выводить определенные шесть записей.

Комментариев нет:

Отправить комментарий