sql >> Database >  >> RDS >> Mysql

krijg opeenvolgende records in mysql

Innerlijke zoekopdracht telt elke streak. Outer query krijgt het maximum per gebruiker. Query is niet getest (maar gebaseerd op een die werkt)

set @user_id = null;
set @streak = 1;

select user_id, max(streak) from (
  SELECT user_id, streak,
    case when @user_id is null OR @user_id != user_id then @streak := 1 else @streak := @streak + 1 end as streak_formula,
    @user_id := user_id,
    @streak as streak
  FROM my_table
) foo
group by user_id


  1. Een database importeren via de opdrachtregel

  2. SELECTEER EEN Rij met de MAX() waarde in een kolom

  3. MySQL Probleem bij het matchen van meerdere interesses

  4. MySQL GROUP BY/ORDER BY probleem