SELECT *
FROM items
WHERE category IN (1, 3, 15)
ORDER BY priority DESC
LIMIT 3
SELECT *
FROM (SELECT *
FROM (SELECT *
FROM items
WHERE category = 1
ORDER BY priority DESC
LIMIT 3) x
UNION ALL
SELECT *
FROM (SELECT *
FROM items
WHERE category = 5
ORDER BY priority DESC
LIMIT 3) x
UNION ALL
SELECT *
FROM (SELECT *
FROM items
WHERE category = 13
ORDER BY priority DESC
LIMIT 3) x
) y
ORDER BY priority DESC
LIMIT 3
Воркшоп Дарьи Колесовой из Яндекса
«От проектирования до эксплуатации:
реляционные БД и SQL-запросы для аналитика
(на примере PostgreSQL)»