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>

Как я могу получить запрос, чтобы выставить правильный ранг?

Ответы на вопрос(1)

Ваш ответ на вопрос