posts
フォーラムのすべての投稿が保存されている mysql テーブルがあります。こんな感じです:
id uid thread post title text time
(int) (int) (varchar) (int) (varchar) (text) (int)
ここで、ユーザー プロファイルにランク (投稿数のランキング) を表示したいと考えています。私はこのようなことを試しました:
set @rownum := 0;
SELECT @rownum := @rownum + 1 AS rank, uid, count(id)
FROM `posts` GROUP BY uid ORDER BY count(id)
しかし、それは正しいデータを返しません。uid と count(id) は一致しますが、ランクが間違っています。私のエントリーは次のようなものです:
rank uid count(id)
1 1 214
私はユーザー 1 で、214 件の投稿がありますが、ランク 1 ではありません。他にも次のようなエントリがあります。
rank uid count(id)
8 22 674
正しいランクを出すためのクエリを取得するにはどうすればよいですか?