Mysql SQL中Python中的舍入时间

Mysql SQL中Python中的舍入时间,mysql,sql,rounding,Mysql,Sql,Rounding,如何在最后一个小时和前一个小时之间找到最后一个小时,例如,如果现在的时间是14:10,我正在寻找的答案是在13-14:00之间给我所有记录,我的代码仅适用于最后一个小时: select * from my_table p where p.when_seen between unix_timestamp(now())- 3600 and unix_timestamp(now()) 例如,什么时候可以看到linux时间戳 select when_seen ,from_unixtime(when_s

如何在最后一个小时和前一个小时之间找到最后一个小时,例如,如果现在的时间是14:10,我正在寻找的答案是在13-14:00之间给我所有记录,我的代码仅适用于最后一个小时:

select *
from my_table p
where p.when_seen between unix_timestamp(now())- 3600 and unix_timestamp(now())
例如,什么时候可以看到linux时间戳

select when_seen ,from_unixtime(when_seen ) from my_table LIMIT 1;

1539085264 2018-10-09 11:41:04

将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;
选择*
从我的桌子上
其中p.when_seen>=floor(unix_时间戳(now())/3600)*3600-3600
p.when_seen
您还应该考虑使用正确的开放时间间隔,因为正确的边界不是前一小时的一部分