2011-02-21 3 views
0

У меня есть 2 стола comments | votes.Топ Комментарии, топ-пользователи, топ-пользователи и комментарии mysql

The `votes` structure is: 
[`id` | `user_id` | `comment_id` | `rating`] 

и комментарии содержат комментарии_ как первичные. Теперь я хочу получить лучшие комментарии в соответствии с суммой рейтинга.

[рейтинг 0 или 1]

и я хочу, чтобы получить верхние пользователи тоже.

ответ

1

Это вернет 10 лучших комментариев, изменивших лимит на более или менее. Очевидно заменить * с колонками, которые вы хотите, возвращенных из комментариев

select * 
from comments x 
join (select comment_id, sum(rating) 
     from votes 
     group by comment_id 
     order by sum(rating) desc 
     limit 10) z on x.comment_id = z.comment_id 

пользователей будет осуществляться таким же образом, просто изменить comment_id от user_id и присоединиться к вам

+0

пользователей, его дать мне то же самое пользователь дважды –

+0

Он не должен возвращать тот же user_id дважды, что и группа, удалив дубликаты. Проверьте user_id пользователей, которые вернулись, может быть, что пользователь был введен дважды. Если он не смог опубликовать sql, который вы использовали для пользователей. – AgentDBA

+0

его woking сейчас >>>>>> спасибо –

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