我正在尝试执行以下操作来计算工作速度:
SELECT (count(*) / 1) velocity FROM mutable
WHERE timestamp > DATE(NOW()-INTERVAL 1 minute)
然而,这似乎是一个错误的结果。这里有什么问题,我将如何正确地进行此查询?
答案 0 :(得分:1)
使用date()
时,您要将值转换为日期。当你减去一分钟时,这似乎很奇怪。如果您想要最近一分钟的计数,请尝试:
SELECT (count(*) / 1) as velocity
FROM mutable
WHERE timestamp > DATE_SUB(NOW(), INTERVAL 1 minute);
答案 1 :(得分:0)
问题是你要在DATE()
中包装表达式,这将返回与一天开始时间相对应的时间戳,即yyyy-mm-dd 00:00:00
。因此,您的表达式只会每天更改。
您可以使用DATE_SUB()
:
timestamp > DATE_SUB(NOW(), INTERVAL 1 minute)