条件声明,如果过去一小时的项目计数超过1000,则从特定项目打印过去一小时内的数据计数
我认为最简单的方法是在查询中添加一个聚合的WHERE过滤器来检查count(*)值(一个HAVING子句),并检查一些Datetime列以查找Start和End值之间的值。
您也可以使用用户定义的变量来设置值。
也许是这样的东西:
-- one hour ago
SET @start = DATE_SUB(NOW(), INTERVAL 1 HOUR)
-- right now
SET @end = NOW()
SELECT ...
FROM ...
WHERE datetime >= @start AND datetime < @end
HAVING count(*) > 1000
GROUP BY *;
然后你要做的就是打印我们查询的结果。
希望有所帮助!
来自其他SO帖子的消息来源
SO mysql-query-with-conditional-statement SO MySQL within 24 hours