内部クエリは各ストリークをカウントします。外部クエリは、ユーザーごとの最大値を取得します。クエリはテストされていません(ただし、機能するクエリに基づいています)
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