У меня есть таблица с действиями, выполненными актерами, и я хочу вернуть 10 самых последних действий. Я хочу, чтобы актеры были уникальными в этом списке. «создан» является меткой времени / даты. Как я могу сделать это наиболее эффективно? Я придумал следующий запрос, который работает:
SELECT *
FROM activities a
JOIN
(SELECT actor, MAX(created) created
FROM activities
WHERE comment_type <> 'profile.status'
GROUP BY actor) t ON (a.actor = t.actor AND a.created = t.created) LIMIT 10
Стол в конечном итоге может быть довольно большим.