Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql选择按日期字段的一部分分组_Php_Mysql_Sql_Database - Fatal编程技术网

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);

也许这可以给你一些指导:下面的答案对我来说非常有效。谢谢