Mysql查询帮助-时间限制不改变事件计数

标签 mysql timestamp

我正在尝试运行以下查询:

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/

相关文章:

php - 使用 WHERE 子句中的数组中的值多次运行 mysql 查询

php - 显示包含搜索条件的搜索结果

php - Yii2 model->created_date 是 future 的,不会在查询时返回

mysql - 获取平均日或周值

php - 来自 3 个表的关系 Laravel 4

mysql - SQL查询解决

javascript - 即使刷新后也保留文本框值

sql - 在时间 block 内获取不同的值

php - 更改服务器时区后更新 MySQL 数据库中的时间戳

mysql - 如何将 MySQL 中的毫秒数与给定日期进行比较