MySQL - ranking według count () i GROUP BY

Mam swoją tabelę mysqlposts, gdzie przechowywane są wszystkie posty mojego forum. To jest tak:

<code>id      uid      thread      post      title      text      time
(int)   (int)    (varchar)   (int)     (varchar)  (text)    (int)
</code>

Teraz chcę pokazać rangę (ranking liczby postów) w profilach użytkowników. Próbowałem czegoś takiego:

<code>set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, uid, count(id)
FROM `posts` GROUP BY uid ORDER BY count(id)
</code>

Ale nie zwraca właściwych danych. Dopasowanie uid i count (id), ale ranga jest błędna. Mój wpis wygląda tak:

<code>rank     uid     count(id)
  1        1        214
</code>

Jestem użytkownikiem 1 i mam 214 postów, ale to nie jest ranga 1. Są inne wpisy, takie jak:

<code>rank     uid     count(id)
  8       22        674
</code>

Jak mogę uzyskać zapytanie, aby umieścić odpowiedni ranking?

questionAnswers(1)

yourAnswerToTheQuestion