表:
id | u_id | start_date | end_date |
-------------------------------------
01 | 7 | 2015-05-05 | 2015-07-23 |
02 | 4 | 2015-07-10 | 2015-07-15 |
03 | 4 | 2015-08-27 | 2015-11-05 |
04 | 5 | 2015-08-01 | 2015-12-09 |
需要这些行:
03 | 4 | 2015-08-27 | 2012-11-05 |
04 | 5 | 2015-08-01 | 2012-12-09 |
输入我查询的数据:
start_date = 2015-10-01
和end_date = 2015-10-31
答案 0 :(得分:2)
试试这个:
SELECT id, u_id, start_date, end_date
FROM mytable
WHERE start_date <= @end_date AND end_date >= @start_date
上述内容将返回start_date - end_date
间隔与@start_date - @end_date
重叠的所有记录。