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

Вземете променлива MIN Дата въз основа на маркер в ред

Използвайте функциите на прозореца:

select t.*,
       coalesce(next_time, time) as imputed_time
from (select t.*,
             sum(context = 'reset') over (partition by user_id) as cnt_reset,
             min(case when context is null then time end) over (partition by userid order by time rows between current row and unbounded following) as next_time
      from t
     ) t
where cnt_reset = 0 or context = 'reset';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Променете формата на датата в таблицата на базата данни mySql

  2. Как да създадете свързан сървър MySQL

  3. Как да сравним две таблици в MySQL

  4. mysql заявка изберете като с диакритични турски букви

  5. Как да затворя sqlalchemy връзка в MySQL