mysql:根据1小时的间隔计算特定时间内访问资源的用户数
问题描述:
我有一个表 - 在检查时(date_time)包含用户活动的用户和访问资源的用户的名称。我想统计使用该系统的用户,假设用户只有访问超过5分钟时才负责。mysql:根据1小时的间隔计算特定时间内访问资源的用户数
date_time user_access
2017-06-24 09:01:59 mike
2017-06-24 09:04:13 mike
2017-06-24 09:07:13 mike
2017-06-24 09:11:14 joe
2017-06-24 09:18:17 ron
2017-06-24 09:24:10 rick
2017-06-24 09:25:24 ron
2017-06-24 09:39:16 ron
2017-06-24 09:44:07 ron
2017-06-24 09:51:44 mary
2017-06-24 09:54:27 joe
2017-06-24 09:58:55 joe
我希望得到的结果是
date_time interval user_count
2017-06-24 09:00 3
2017-06-24 10:00 0
(只计算迈克,罗恩和乔 - 因为他们记录了超过5分钟,这还不包括里克和玛丽,因为他们只记录一旦)。
在此先感谢!
答
如果您需要的用户我的最后一小时
select date(date_time), HOUR(date_time), count(distinct user)
FROM my_table
date_time >= date_sub(NOW(), interval 1 hour)
group by date(date_time), HOUR(date_time)
计数,这应该是选择的结果的记录更多的是5分钟
select date(date_time), HOUR(date_time), count(distinct user)
FROM my_table
date_time >= date_sub(NOW(), interval 1 hour)
group by date(date_time), HOUR(date_time)
and user_access in (
select user_access
from my_table
where timediff(max(date_time), min(date_time))/60 > 5
group by user_access
)
感谢用户! 这个问题的部分是可以的。我需要一些方法来统计至少记录5分钟的用户。有任何想法吗? – zeb
用5分钟的用户回答udpdate – scaisEdge