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

Oblicz deltę (różnicę bieżącego i poprzedniego wiersza) grupę mysql według określonej kolumny

Spróbuj tego:

drop table a;
create table a( id integer not null primary key, d datetime, user_id integer );
insert into a values (1,now() + interval 0 day, 1 );
insert into a values (2,now() + interval 1 day, 1 );
insert into a values (3,now() + interval 2 day, 1 );
insert into a values (4,now() + interval 0 day, 2 );
insert into a values (5,now() + interval 1 day, 2 );
insert into a values (6,now() + interval 2 day, 2 );

select t1.user_id, t1.d, t2.d, datediff(t2.d,t1.d)
from a t1, a t2
where t1.user_id=t2.user_id
and t2.d = (select min(d) from a t3 where t1.user_id=t3.user_id and t3.d > t1.d)

Co oznacza:połącz swoją tabelę ze sobą na podstawie identyfikatorów użytkownika i sąsiednich wpisów daty i godziny i oblicz różnicę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak usunąć duplikaty w mysql za pomocą przypadku

  2. MySQL:czy w instrukcji SELECT rozróżniana jest wielkość liter?

  3. Eksport MySQL UTF8 do systemu Windows — import do systemu Linux

  4. Pobierz puste rekordy za pomocą SQL

  5. Kolejna dataPytanie o godzinie