gpt4 book ai didi

mysql 检索当前小时和前一小时之间的差异

转载 作者:行者123 更新时间:2023-11-29 13:30:04 25 4
gpt4 key购买 nike

对于下表,我想获取每个站点的 col-D 和 col-E 的过去一小时和当前小时之间的差异。作为其中的一部分,我尝试首先获取每个站点的最新(当前)小时条目,但以下查询仅列出 endTime 为 01:00:00 的条目,当我的条目最多为 9.00AM

select distinct(mmeName), endDate, endTime, c_ratio, set_time from attach where
type='INIT' and Date(endDate)=curDate() and
Time(endTime) >= DATE_ADD(Time(endTime), INTERVAL -1 HOUR) group by mmeName;

对于当前问题以及找出当前和上一小时之间的差异的任何帮助,我们将不胜感激。

enter image description here

最佳答案

已编辑

我认为这就是您正在寻找的。这将为您提供每个 mmeName 的结束时间早于当前最新时间一小时的所有记录。 “max”子选择获取每个 mmeName 的最新结束日期时间,并且回接记录与该日期之前一小时的记录相匹配。

SELECT  mmeName, endDate, endTime, c_ratio, set_time 

FROM attach a

JOIN
(SELECT mmeName, CONCAT(endDate, ' ' , endTime) max_endDateTime
FROM attach
WHERE type = 'INIT'
ORDER BY endDate DESC, endTime DESC
) AS max ON max.mmeName = a.mmeName
AND max.max_endDateTime = DATE_ADD(CONCAT(endDate, ' ' , endTime), INTERVAL 1 HOUR)

WHERE type = 'INIT'
;

原版

select  mmeName, endDate, endTime, c_ratio, set_time 

from attach

where type='INIT' and Date(endDate)=curDate() and
endTime >= DATE_SUB(now(), INTERVAL -1 HOUR)

group by mmeName;

注意:如果给定 mmeName 有多个匹配记录,则此查询将仅获取其中之一。

已编辑:您需要从 WHERE 子句中删除 TIME() 函数。两者都有日期和时间,如果没有,如果您在 12:00 AM 到 1:00 AM 之间运行它,它不会返回任何结果。

关于mysql 检索当前小时和前一小时之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19592983/

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