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?