2010-07-06 5 views
0

Имея классическую таблицу столбов и таблицы комментариев с внешним ключом в столбик таблицы, самый эффективный способ получить идентификаторы последних 20 должностей, упорядоченных к моменту их последнего комментарий и собственно комментарий?MySQL: последние комментарии к каждому сообщению

Вот запрос, который работает, но, вероятно, может быть сделано гораздо более эффективно:

SELECT * FROM (
    SELECT * FROM comments ORDER BY time DESC 
) AS foo GROUP BY post_id ORDER BY time DESC LIMIT 20 

Вложенный запрос с ORDER BY необходимо, чтобы убедиться, что последний комментарий получает выбран в post_id группу.

+0

Для какой базы данных? Нет синтаксиса для ограничения результатов. –

+0

MySQL, уточнено. Не думал, что SQL так сильно различается в системах баз данных. –

+0

Похоже на http://stackoverflow.com/questions/3182436/retrieveing-the-most-recent-records-within-a-query практически такой же вопрос ... «Наибольшая-n-группа» - это поиск я пропал без вести. –

ответ

Смежные вопросы