次のクエリがあります。
SET @rownum := 0;
SELECT result.rank, result.postid FROM (
SELECT CASE @rownum
WHEN 5 THEN @rownum:=1 ELSE @rownum:=@rownum + 1 END AS rank
,c.postid
FROM comments c
ORDER BY c.postid DESC
) as result
次の形式で結果を返します。
rank postid
---------------------------------
1 199
2 199
3 199
4 199
5 198
1 198
2 198
3 198
4 198
5 198
6 198
ここで、ランクが postid.postid 199 に従って指定されるように、このクエリを更新したいと考えました。199 は 1 から 4 にランク付けされ、新しい postid が表示されたことを識別するとすぐに、1 から任意の数のレコードに再びランク付けする必要があります。 id が含まれています。
I want the count of rank for each postid to start from 1 and goto the number of times that postid is appearing.
編集:
@lievenまだ問題が発生しています。この画像を確認してください。
ご覧のとおり、投稿は172
終了していますが、ランクはまだ続いています