一周中的每一天,每小时一次登录的次数?

时间:2019-04-05 00:17:03

标签: mysql sql

我有一个来自此数据的数据上下文列表(yyyy-mm-dd,hh:min:ss),我需要整理一天中任何给定时间对“登录”进行打孔的次数。以及一周中每天的登录次数。

我尝试了一些代码,但不确定我是否正确。我还应该在声明中加入COUNT(*)

此代码用于每小时登录:

SELECT date_time, HOUR(date_time) FROM time_logs ORDER BY DAY(date_time);

一周中一天的代码:

SELECT date_time, DAY(date_time) FROM time_logs ORDER BY DAY(date_time);

这是对的吗?如果不能,你可以给我提示

3 个答案:

答案 0 :(得分:0)

要计算每小时登录次数,您只需在COUNT(*)SELECT中添加GROUP BY HOUR(date_time)

SELECT date_time, HOUR(date_time),COUNT(*) 'Total Logins' 
FROM time_logs GROUP BY HOUR(date_time) ORDER BY DAY(date_time);

类似地,您需要添加相同的内容。唯一的区别是您的分组现在是按天进行的。

SELECT date_time, DAY(date_time), COUNT(*) 'Total Logins' 
FROM time_logs GROUP BY DAY(date_time) ORDER BY DAY(date_time);

答案 1 :(得分:0)

您可以将日期时间同时转换为小时和日期,然后按分组进行汇总。

https://rextester.com/BQSV80644

答案 2 :(得分:0)

一天中的某个小时:

SELECT HOUR(date_time), COUNT(*)
FROM time_logs 
GROUP BY HOUR(date_time);

一周中的某天:

SELECT WEEKDAY(date_time), COUNT(*)
FROM time_logs 
GROUP BY WEEKDAY(date_time)
ORDER BY MIN(date_time)