- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:いくつ続いているか知りたい)
最新のユーザーネームを連続して数える方法
このQ&Aのポイント
- バージョン4.1.16を使っている状況で、idの大きい方から順番にuser_nameが連続している回数を知りたいです。
- 例えば、idが8から4までのレコードについて、user_nameが連続している回数を知りたいです。
- このような情報を取得するためには、SQL文を使用して記述する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ぱっとおもいつき、もっと効率的な方法はあると思いますが・・・ SET @PRE='',@RENZOKU=1; CREATE TEMPORARY TABLE RENZOKU_TEST SELECT if(@PRE=user_name,@RENZOKU:=@RENZOKU+1,@RENZOKU:=1) as RENZOKU,@PRE:=user_name as user_name FROM test ORDER BY id; SELECT MAX(RENZOKU) AS RENZOKU FROM RENZOKU_TEST
その他の回答 (1)
- calltella
- ベストアンサー率49% (317/635)
回答No.1
補足をお願いします。 確かに「id 4~8」まで佐藤が続いていますが「id 1~2」も佐藤が続いています。 「id 1~2」は無視してもいいのですか? 5連続していた場合、欲しい結果は【5】ですか? それとも【8,4】ですか?
質問者
補足
ご返答ありがとうございます。 補足します。 「id 1~2」は無視していいです。 欲しい結果は【5】です。 先頭からいくつ続いているかが知りたいです。
お礼
ご返答ありがとうございます。 さっそく試してみて、できました。ありがとうございます。