MySQL - ранжирование по количеству () и GROUP BY
У меня есть мой стол MySQLposts
где хранятся все посты моего форума. Это так:
<code>id uid thread post title text time (int) (int) (varchar) (int) (varchar) (text) (int) </code>
Теперь я хочу показать рейтинг (рейтинг по количеству постов) в профилях пользователей. Я пробовал что-то вроде этого:
<code>set @rownum := 0; SELECT @rownum := @rownum + 1 AS rank, uid, count(id) FROM `posts` GROUP BY uid ORDER BY count(id) </code>
Но он возвращает не правильные данные. Идентификатор uid и count (id) совпадают, но рейтинг неверен. Моя запись похожа на:
<code>rank uid count(id) 1 1 214 </code>
Я - пользователь 1, и я получил 214 сообщений, но это не ранг 1. Есть и другие записи, такие как:
<code>rank uid count(id) 8 22 674 </code>
Как я могу получить запрос, чтобы выставить правильный ранг?