现在有两张表一张用于存储时间片段的duration表CREATE TABLE `duration` ( `id` int(0) NOT NULL, `start_time` datetime(0) NULL, `end_time` datetime(0) NULL,
);一张用于存储数据的data表,有数据的插入时间CREATE TABLE `data` ( `id` int(0) NOT NULL, `record_time` datetime(0) NULL,
);这俩表id都是可以重复的现在从duration表中查出多条数据,也就是获取到了多个时间片段,然后再data表中查出对应record_time在之前查出的多个时间片段之间的数据。大佬们这个咋弄?
1 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
insert into duration (id, start_time, end_time) values(1, '2018-1-1', '2018-1-10'), (2, '2018-2-1', '2018-2-10'), (3, '2018-3-1', '2018-3-10'); insert into data (id, record_time) values(1, '2018-1-2'), (2, '2018-2-2'), (3, '2018-3-2'), (4, '2018-4-2'), (5, '2018-1-12'); select data.* from data, duration where record_time between start_time and end_time ;
结果会是:
'1', '2018-01-02 00:00:00''2', '2018-02-02 00:00:00''3', '2018-03-02 00:00:00'
添加回答
举报
0/150
提交
取消