Mysql
 sql >> база данни >  >> RDS >> Mysql

вземете последователни записи в mysql

Вътрешната заявка отчита всяка поредица. Външната заявка получава максимума на потребител. Заявката не е тествана (но се базира на такава, която работи)

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Поправете „ГРЕШКА 1136 (21S01):Броят на колоните не съвпада с броя на стойностите на ред 1“ при вмъкване на данни в MySQL

  2. Достъп до последния създаден ред в PHP/MySQL

  3. Попълнете базата данни на Django

  4. Как да включите PHP променлива в MySQL оператор

  5. Кога *не* да използвате подготвени изявления?