【发布时间】:2020-02-18 07:34:29
【问题描述】:
在我的 Oracle 数据库中有一个包含用户登录日期和时间的会话表。通过这个查询,我可以获得在给定时间段内登录(打开他们的会话)的用户数量 - 例如在一月份登录:
SELECT
COUNT(DISTINCT ses_username)
FROM
sessions
WHERE
to_char(ses_start_date, 'YYYY-MM-DD HH24:MI:SS') BETWEEN '2019-01-01 00:00:00' AND '2019-01-31 23:59:59'
如何在 PL/SQL 中创建一个循环,以每月或每月的天数或每月的小时数或每天的小时数,甚至每天的一刻钟(15 分钟)来计算。
编辑:
会话表格式为
ses_id ses_start_date ses_username
============================================
786895 2019-01-01 15:39:10 USER_1
786896 2019-01-01 15:39:11 USER_1
786897 2019-01-01 16:38:39 USER_1
786898 2019-01-01 16:38:40 USER_1
786899 2019-01-02 06:44:20 USER_2
786900 2019-01-02 06:44:21 USER_2
786901 2019-01-02 06:50:10 USER_3
786902 2019-01-02 06:50:11 USER_3
786903 2019-01-02 06:50:28 USER_4
786904 2019-01-02 06:50:30 USER_4
...
而且我需要知道在每月的每一天、每小时或每天每 15 分钟内登录了多少唯一用户名。
【问题讨论】:
-
请提供想要的结果和一些样本数据
-
我已编辑问题以获取更多信息。