我有一个应用程序日志表。我目前使用以下查询计算每分钟的操作数
SELECT COUNT(id)
FROM application_log
WHERE activity_date LIKE '%2016-11-01 18:12%' AND activity_type = 'Full Invoice' AND status = 'Success'
目前,我必须每分钟更改一次并重新运行查询。
有什么方法可以让我在一小时内获得每分钟的计数?或者更进一步,获取一天中每小时的操作次数?
最佳答案
使用 DATE_FORMAT
将时间缩短到分钟,并以此为基础进行分组。
SELECT DATE_FORMAT(activity_date, '%H:%i') AS time, COUNT(*)
FROM application_log
WHERE activity_date BETWEEN @start_time AND @end_time
AND activity_type = 'Full Invoice' AND status = 'Success'
GROUP BY time
ORDER BY time
如果时间范围超过一天,则将日期添加到格式字符串中。
关于php - Mysql选择按日期字段的一部分分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40365337/