Mysql
 sql >> Datenbank >  >> RDS >> Mysql

erhalten Sie aufeinanderfolgende Datensätze in mysql

Die innere Abfrage zählt jeden Streifen. Die äußere Abfrage erhält das Maximum pro Benutzer. Die Abfrage ist ungetestet (basiert jedoch auf einer funktionierenden)

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