Как вывести по 2 записи из каждой категории игр с лучшим рейтингом?
Я достаю две самые успешные игры из каждой категории и потом из полученной десятки оставляю 5 лучших игр.
SELECT * FROM (SELECT * FROM ((SELECT * FROM games
WHERE category_id = 1
ORDER BY rating DESC LIMIT 2)
UNION
(SELECT *FROM games
WHERE category_id = 2
ORDER BY rating DESC LIMIT 2)
UNION
(SELECT * FROM games
WHERE category_id = 3
ORDER BY rating DESC LIMIT 2)
UNION
(SELECT * FROM games
WHERE category_id = 4
ORDER BY rating DESC LIMIT 2)
UNION
(SELECT *
FROM games
WHERE category_id = 5
ORDER BY rating DESC LIMIT 2)) as result
ORDER BY rating DESC LIMIT 5) as success
Как мне добиться того же результата , но без использования UNION? И чтобы были вложенные запросы