gpt4 book ai didi

MySQL 查询间隔日期时间

转载 作者:行者123 更新时间:2023-11-29 03:16:36 25 4
gpt4 key购买 nike

我有两个表,名为 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

我想从表 event 中获取 datenext two days 的数据,然后获取数据的最大值 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 max 结果是表中的最大值。

最佳答案

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

SELECT
e.date,
e.event,
(SELECT MAX(f1) FROM time t
WHERE t.date_time BETWEEN e.date AND DATE_ADD(e.date, INTERVAL 2 DAY)) AS f1_max,
(SELECT MAX(f2) FROM time t
WHERE t.date_time BETWEEN e.date AND DATE_ADD(e.date, INTERVAL 2 DAY)) AS f2_max
FROM event e
ORDER BY
e.date;

关于MySQL 查询间隔日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55154119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com