如何在最后一个小时和前一个小时之间取整,例如,如果现在是14:10,我正在寻找的答案是给我13-14:00之间的所有记录,我的代码只是最后一个小时的记录:
select *
from my_table p
where p.when_seen between unix_timestamp(now())- 3600 and unix_timestamp(now())例如wheen_seen是linux时间戳。
select when_seen ,from_unixtime(when_seen ) from my_table LIMIT 1;1539085264 2018-10-09 11:41:04
发布于 2019-06-03 02:07:37
将Unix时间戳除以每小时的秒数(3600),再乘以每小时的秒数。然后,oyu就有了不含分钟或秒的小时的时间戳。
SELECT *
FROM my_table p
WHERE p.when_seen >= floor(unix_timestamp(now()) / 3600) * 3600 - 3600
AND p.when_seen < floor(unix_timestamp(now()) / 3600) * 3600;你还应该考虑使用右开场间隔,因为右边界不是前一小时的一部分。
https://stackoverflow.com/questions/56417597
复制相似问题