Присоединиться с заказанным столом - PullRequest
0 голосов
/ 09 ноября 2011

Предположим, таблица сообщений и таблица комментариев к этим сообщениям.В таблице «комментарии» есть столбец с названием «post_id», в котором содержится идентификатор цели каждого комментария, и столбец с названием «рейтинг», в котором хранится рейтинг каждого комментария (палец вверх минус палец вниз).

Мне нужен запрос, который выберет все сообщения вместе с комментарием с НАИБОЛЕЕ РЕЙТИНГОМОбычное соединение, такое как следующее:

SELECT * FROM posts LEFT JOIN comments ON comments.post_id = posts.id;

... вернет одну строку для каждого комментария.Я предполагаю, что мне нужно упорядочить комментарии к таблице по рейтингу, а затем сгруппировать результаты по идентификатору поста.Но я искал правильный синтаксис для этого и не смог его найти (и метод проб и ошибок тоже не сработал).Есть идеи?Спасибо!

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011
0 голосов
/ 09 ноября 2011

Попробуйте выполнить подвыбор, но будьте осторожны с большими запросами, так как это имеет тенденцию быть тяжелым на сервере

SELECT * FROM posts 
LEFT JOIN comments ON comments.rating = 
    (SELECT MAX(comments.rating) 
     FROM comments 
     WHERE comments.post_id = posts.id);
...