Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wydobywanie czasu na ponowne dołączenie

Możesz użyć lag() a następnie filtruj:

select t.*,
       datediff(start, prev_cancelled) as num_days_since_cancel
from (select t.*,
             lag(cancelled) over (partition by id order by start) as prev_cancelled
      from t
     ) t
where prev_cancelled is not null;

Tutaj to db<>skrzypce.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kosztowne zapytanie powoduje wyłączenie serwera bazy danych — szukanie sposobów na złagodzenie tego problemu

  2. Czy używając SELECT możesz modyfikować wartość zwracanego pola na podstawie innych pól?

  3. Czy istnieje technika SQL do zamawiania według wielu kryteriów?

  4. policz wiele kolumn w jednym zapytaniu

  5. Sposób na odczyt danych tabeli z Mysql do Pig