Php Mysql选择按日期字段的一部分分组
我有一个应用程序日志表。我目前使用以下查询计算每分钟的操作数Php Mysql选择按日期字段的一部分分组,php,mysql,sql,database,Php,Mysql,Sql,Database,我有一个应用程序日志表。我目前使用以下查询计算每分钟的操作数 SELECT COUNT(id) FROM application_log WHERE activity_date LIKE '%2016-11-01 18:12%' AND activity_type = 'Full Invoice' AND status = 'Success' 目前,我必须更改每分钟并重新运行查询 我有没有办法得到一小时内每分钟的计数?或者通过获取一天中每小时的操作数来进一步了解情况?使用DATE\u格式将
SELECT COUNT(id)
FROM application_log
WHERE activity_date LIKE '%2016-11-01 18:12%' AND activity_type = 'Full Invoice' AND status = 'Success'
目前,我必须更改每分钟并重新运行查询
我有没有办法得到一小时内每分钟的计数?或者通过获取一天中每小时的操作数来进一步了解情况?使用
DATE\u格式
将时间缩短为分钟,并按分钟分组
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
如果时间范围超过一天,请将日期添加到格式字符串中。希望这有帮助
SELECT concat(date(activity_date),' ',hour(activity_date),':', minute(activity_date)) as activity_date , COUNT(id)
FROM application_log
WHERE activity_type = 'Full Invoice' AND status = 'Success'
group by date(activity_date),hour(activity_date), minute(activity_date);
也许这可以给你一些指导:下面的答案对我来说非常有效。谢谢