MySQL查询间隔日期时间

时间:2019-03-14 02:37:09

标签: mysql

我有两个桌子, 名字为time

date_time    f1    f2
2019-03-02   3     7
2019-03-03   5     3
2019-03-04   2     5
2019-03-05   1     9
2019-03-06   6     2
2019-03-07   3     1
2019-03-08   2     4
2019-03-09   1     8

我有一个名为event的表

date          event
2019-03-03    holiday
2019-03-07    parade

我想从表date接下来的两天收集数据event,然后获取数据f1f2的最大值结果必须低于

date              event      f1(max)      f2(max) 
2019-03-03       holiday      5             9
2019-03-07       parade       3             8

我刚刚尝试运行查询

SELECT b.date_event,max(a.f1),max(a.f2) 
FROM time a  JOIN event b 
WHERE a.`date_time` >= b.`date_event` and 
a.`date_time` <=  date_add(b.`date_event`, interval 2 day)

但结果与我的预期不符

    date              event      f1(max)      f2(max) 
 2019-03-07           parade      6             9   

您可以看到结果只有一个日期,而f1f2的最大值是表中的最大值。

1 个答案:

答案 0 :(得分:0)

我们可以尝试使用相关子查询来找到最大值:

var conferences = ConferenceResource.Read(
    friendlyName: conferenceId,
    status: ConferenceResource.StatusEnum.InProgress
);