Как сделать заказ по большинству результатов в MySQL? - PullRequest
0 голосов
/ 03 сентября 2011

У меня есть список постов со связанными author_ids, и я выбираю список постов, где у каждого автора есть хотя бы одно опубликованное сообщение, подобное этому:

SELECT DISTINCT author_id 
FROM posts 
WHERE status = "live" AND author_id NOT IN(0,1)

Я хочу отсортировать этот списоксверху вниз по количеству созданных постов, но я не знаю, как их подсчитать и отсортировать список по этому количеству.

Любая помощь?

1 Ответ

1 голос
/ 03 сентября 2011

Вам нужно будет использовать GROUP BY , чтобы получить количество сообщений

SELECT author_id, COUNT(*) as posts_count
FROM posts 
WHERE status = "live" AND author_id NOT IN(0,1)
GROUP BY author_id
ORDER BY posts_count DESC;
...