繁体   English   中英

计算每月表中的平均小时数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM