gpt4 book ai didi

mysql - 什么 SQL 语句将返回具有匹配日期和日期时间的行?

转载 作者:行者123 更新时间:2023-11-29 06:51:44 26 4
gpt4 key购买 nike

编辑:我盯着屏幕看的时间太长了,我意识到我实际上放下了 6 点钟 (18) 而不是我需要的 4 点钟 (16)。我有一行与 18 匹配,这就是为什么只有一行不断返回的原因。从技术上讲,如果我将代码更改为 16 位,我的代码就可以工作,但是@Gordon Linoff 的回答使用 JOIN 时要快得多。我的语句返回需要 0.33 秒,而 Gordon 的需要 0.0003。

我有三个表,我试图通过两个日期时间列和一个日期列来匹配行。我当前的 SQL 命令如下所示:

SELECT puyforecast.timestamp, tacforecast.timestamp, date
FROM puyforecast, tacforecast, stnrain
WHERE puyforecast.timestamp LIKE CONCAT(date, ' 18:%')
AND tacforecast.timestamp LIKE CONCAT(date, ' 18:%');

这只会拉出第一个匹配的行:2013-01-28 18:37:33, 2013-01-28 18:37:34, 2013-01-28 这是我对声明的期望。我想查看具有匹配的 datedatetime 戳记的所有 行。 puyforecasttacforecast 的两个时间戳应该只是时间在 18:00(下午 4 点)的行。在比较 datetimes 时,我不关心分钟或秒,因此这些不应该对匹配产生影响。

我应该看到这样的条目:

2013-01-28 18:37:33,    2013-01-28 18:37:34,    2013-01-28
2013-01-29 18:00:02, 2013-01-29 18:00:34, 2013-01-29
2013-01-30 18:00:02, 2013-01-30 18:00:34, 2013-01-30
...

和 &c,日期匹配一直持续到当前日期。两个 datetime 列比 date 列回溯的时间更早。

我尝试了几次搜索,但我似乎无法找到我要搜索的内容。

最佳答案

你能在约会时匹配这些吗?

SELECT pf.timestamp, tf.timestamp, date
FROM stnrain s join
puyforecast pf
on date(pf.timestamp) = s.date and
hour(pf.timestamp) = 18 join
tacforecast tf
on date(tf.timestamp) = s.date and
hour(tf.timestamp) = 18

关于mysql - 什么 SQL 语句将返回具有匹配日期和日期时间的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14969554/

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