В моей базе данных 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'
Как сделать oop в PL / SQL которые дают мне счет, но по дням в месяц или по часам в месяц или по часам в день или даже четверть часа (15 минут) в день.
РЕДАКТИРОВАТЬ:
Формат таблицы сеанса is
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 минут в день.