Запрос одного стола и упорядочение по событиям с другого - PullRequest
0 голосов
/ 21 февраля 2011

Мне нужно выбрать все мои комментарии в тальбе «Комментарии». Дело в том, что каждый комментарий получает несколько «лайков», которые хранятся в таблице «лайков».

Я бы хотел выбрать все элементы из таблицы «комментариев», но упорядочить их по количеству лайков, когда каждое «лайк» представлено в виде строки в таблице «лайков» ...

кто-нибудь знает хороший способ сделать это? Спасибо большое, Yanipan ** редактировать ** Привет, ты прав, прости. Я использую php в качестве серверной части, а MySql в качестве базы данных ... Я забыл, насколько широк круг вопросов, задаваемых на этом форуме ...

1 Ответ

0 голосов
/ 22 февраля 2011

Извлечение 10 самых понравившихся комментариев, включая те, у которых вообще нет лайков (левое объединение) (при условии простой структуры с двумя таблицами: комментарии и лайки):

select c.*,count(l.id) as likes
  from comments c 
    left join likes l on c.id = l.comment 
  group by l.comment
  order by count(l.id) desc 
  limit 10;

Обратите внимание, что производительность этого запроса будет довольно неприятной. Следовательно, вам, скорее всего, придется найти другую стратегию, чтобы отсортировать комментарии по количеству лайков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...