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

Hiển thị khoảng cách giữa các ngày trong MySQL

dọc theo những dòng đó:

drop table if exists dates;
create table dates (d_from date, d_to date);
insert into dates values 
('2014-06-15'  , '2014-06-20'),
('2014-06-23'  , '2014-06-27' ),
('2014-06-29'  , '2014-06-30' );

select low.d_to, high.d_from, to_days(high.d_from) - to_days(low.d_to) - 1 as gap

from dates low, dates high
where high.d_from = (select min(d_from) from dates where d_from > low.d_to)
;

Có nghĩa là:nối bảng với chính nó vào ngày kết thúc / ngày bắt đầu liền kề và tính toán sự khác biệt.

+------------+------------+------+
| d_to       | d_from     | gap  |
+------------+------------+------+
| 2014-06-20 | 2014-06-23 |    2 |
| 2014-06-27 | 2014-06-29 |    1 |
+------------+------------+------+



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. NHibernate MappingException:không có tài khoản cho byte []

  2. Quyền cơ bản trong Bugzilla để tách các máy khách

  3. chèn vào vấn đề mysql

  4. Dữ liệu từ hai bảng có cùng tên cột

  5. Kiểu dữ liệu cho unix_timestamp (MySQL) là gì?