php - Mysql选择按日期字段的一部分分组

标签 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_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/

相关文章:

MySQL - 在 WHERE 中选择

c# - 如何将可移植数据库添加到 MVC 应用程序?

php - 如何从此数组获取youtube下载链接

php - 如何使用 php 获得像 Google 一样的速度?

php - 从存储为位数据类型的 mysql 中检索 php (codeigniter) 中的字段

php - 如何根据今天的日期和截止日期选择行

sql - 您可以替换或更新SQL约束吗?

sql - 使用查询插入,并添加默认值

php - 这是什么编码?

php - 使用 php mysql 显示外键值