从一个数据库表中滑动获得访问权限的不同用户的数量?
Posted
技术标签:
【中文标题】从一个数据库表中滑动获得访问权限的不同用户的数量?【英文标题】:Sliding number of distinct users who get access, from one database table? 【发布时间】:2020-10-13 17:06:50 【问题描述】:我的表至少包含名字(每个唯一)和最后访问权限(自 Epoch 以来的秒数):
| first-name | last-access |
------------------------------------------
John 1592811924
James 1592810901
Oliver 1592811924
Alfred 1592812925
Alan 1592813124
John 1592813924
James 1592814040
例如,我如何绘制每小时获得访问权限的不同用户的数量?
【问题讨论】:
【参考方案1】:一个简单的选择是:
select
floor(last_access / 60 / 60) * 60 * 60 last_access_hour,
count(distinct first_name) no_distinct_users
from mytable
group by last_access_hour
这会计算每小时不同的用户数。你也可以用模运算符来表达:
select
last_access - last_access % (60 * 60) last_access_hour,
count(distinct first_name) no_distinct_users
from mytable
group by last_access_hour
如果你想以人类可读的格式显示纪元时间戳,你可以使用from_unixtime
select
date_format(from_unixtime(last_access), '%Y-%m-%d %H:00:0') last_access_hour,
count(distinct first_name) no_distinct_users
from mytable
group by last_access_hour
【讨论】:
很好的答案 GMB,我仍然可以在 grafana 中绘制结果表以上是关于从一个数据库表中滑动获得访问权限的不同用户的数量?的主要内容,如果未能解决你的问题,请参考以下文章