[英]calculate the average number of hours per day that the employee spent on the workplace for the previous month
[英]Calculate the average number of hours in table per month
我有一个名为“ loginhistory”的表,我需要计算一个月中最活跃的小时。 我该怎么做?
我的表结构是:id,userId,日期(datetime),ip。
我试图用PHP做到这一点,但我也没有成功。 我希望仅在MySql中进行计算。
我希望输出只是最活跃的小时数。
如果需要选择活动时间,则检查平均数无关紧要。
原因average = count / days
,由于整个计算的days
相同(假设为30
),因此最大的count
将是列表中的活动小时count
。
只需按日期范围选择并按小时分组,然后从降序中选择第一个即可:
SELECT
HOUR(date) AS hour,
COUNT(id) AS logins,
( COUNT(id) / DAY(LAST_DAY('2019-01-01')) ) AS logins_avg
FROM loginhistory
WHERE
date >= '2019-01-01 00:00:00' AND date < '2019-02-01 00:00:00'
GROUP BY HOUR(date)
ORDER BY logins DESC LIMIT 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.