У меня есть сайт с категориями и темами. Некоторые категории являются родителями / детьми друг друга (только один вложенный уровень). Я пытаюсь выбрать самую свежую тему из каждого семейства категорий (то есть не более одной темы от одного из родителей или ребенка). Вот что я сейчас пытаюсь:
SELECT topics.id
FROM topics, categories
WHERE topics.category_id = categories.id
AND ( categories.id IN ( 1, 2, 3 )
OR categories.parent IN ( 1, 2, 3 ))
ORDER BY topics.posted DESC
Если я выполню этот запрос как есть, он получит все темы. Если я добавлю LIMIT 1
в конце, он получит только 1 всего (не 1 на семью). Если я добавлю LIMIT 3
в конце, он получит 3 самых последних из всех категорий. Я хочу одну тему из каждой категории. Любая помощь?