Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hitung delta (perbedaan baris saat ini dan sebelumnya) grup mysql dengan kolom tertentu

Coba ini:

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)

Artinya:gabungkan tabel Anda dengan dirinya sendiri pada user_ids dan entri datetime yang berdekatan dan hitung perbedaannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pernyataan SQL IN - simpan duplikat saat mengembalikan hasil

  2. Bermain! Kerangka 1.2.4 --- Pengaturan C3P0 untuk menghindari kegagalan tautan Komunikasi lakukan untuk waktu idle

  3. Kolom dihitung dari kolom lain?

  4. Produk Magento diimpor dari database menggunakan kueri SQL

  5. MySQL:Permintaan untuk daftar opsi yang tersedia untuk SET