SQL-запрос

lelik17

Новичок
Возникла проблема. Нужно вывести список пользователей сайта, отсортированный по количеству постов, которые они написали. Есть две таблицы:

users (user_id, user_name)
posts (id, user_id, name);

Запрос пишу такой: "SELECT users.user_name AS user_name, users.user_id AS user_id, count(posts.id) AS posts FROM users, posts WHERE posts.user_id=users.user_id ORDER BY posts DESC LIMIT 5"

Но результат совсем не тот - один пользователей, а в posts общее количество постов. Вопрос: как написать правильно?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
По уму надо делать денормализацию.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
lelik17
Вынести заранее и поддерживать в актуальном состоянии посты пользователей в таблице users в специальном поле, например post_count, дабы каждый раз не пересчитывать при выводе
 
Сверху