Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tính toán delta (sự khác biệt của hàng hiện tại và hàng trước đó) nhóm mysql theo cột cụ thể

Hãy thử điều này:

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)

Có nghĩa là:tham gia bảng của bạn với chính nó trên user_ids và các mục nhập datetime liền kề và tính toán sự khác biệt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không tìm thấy cột:1054 Cột không xác định laravel

  2. Hiệu suất tốt nhất để Lấy kết quả MySQL EAV dưới dạng Bảng quan hệ là gì

  3. xóa dữ liệu trùng lặp mysql

  4. Truy vấn kết quả tìm kiếm dựa trên vị trí chậm

  5. Giỏ hàng Thương mại Điện tử tốt nhất cho nhà phát triển Zend Framework