我正在尝试运行以下查询:
SELECT COUNT(*) FROM (
SELECT * FROM vqm_packets WHERE call_end >= DATE_SUB(NOW(), INTERVAL 1 MINUTE)
UNION ALL
SELECT * FROM vqm_archive WHERE call_end >= DATE_SUB(NOW(), INTERVAL 1 MINUTE)) AS t;
我试图只查找更新于 1 分钟的记录。人们可能会认为进一步限制间隔(例如更改为 1 秒)会减少记录数,但事实并非如此。我认为问题在于基于 call_end 字段(UTC 中的日期时间字段)的时间限制。只是好奇是否有人能看到查询有任何问题?如果不是,使用 now() 和 UTC 时是否有任何问题?
最佳答案
如果您的日期时间字段设置为 UTC 时间,那么您需要使用 UTC_TIMESTAMP() 而不是 NOW() 进行比较。
关于Mysql查询帮助-时间限制不改变事件计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11107987/