sql 查询多个时间片段的数据

现在有两张表

一张用于存储时间片段的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在之前查出的多个时间片段之间的数据。
大佬们这个咋弄?


MMMHUHU
浏览 715回答 1
1回答

慕神8447489

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'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL