我有一个带时间戳字段的mysql表ts,将在进行以下计算后插入数据:
从数据源中我得到: $ date = $ ts [$ s] ['datetime']; //“ 2018-06-03T07:00:00.000Z” $ timestamp = date(“ Y-m-d H:i:s”,strtotime($ date)); //“ 2018-06-03 07:00:00”
每10分钟$ timestamp(和其他数据)将被插入到mysql表ts中。
一个php程序应选择最后6个条目。我尝试过
SELECT * FROM ts WHERE (now() - t_timestamp)<3600000 ORDER BY t_timestamp ASC;
如果我尝试使用不同的值(毫秒),例如3600000、1800000、600000 ...,则会为我提供表的所有数据,而不仅仅是预期的最后6、3、1行。 但是81000给了我最后一行 82000给了我最后两行, 83000给了我最后三行, 84000给了我最后四行, 85000给了我最后5行
那是一个小时之前,现在又重新开始: 81000给了我最后一行 82000给了我最后两行, ...
似乎只显示最后一小时的1,2,3,4,5,6行。
我尝试了另一种方法,它给了我零行: SELECT * FROM ts WHERE t_timestamp> = DATE_SUB(NOW(),INTERVAL 1 HOUR)ORDER BY t_timestamp ASC;
我在做什么错了?