我使用的是Oracle 12c,我需要获取每天唯一用户名行的数量。目前,下表中有多行在同一天具有相同的用户名(date_created)。
LOGIN_HISTORY
----------------
id (unique random generated long)
date_created (timestamp)
username (var char)
答案 0 :(得分:1)
在下面的查询中,我使用日期,月份和年份进行分组,这是唯一标识date_created
列每一天所必需的。我使用COUNT(DISTINCT username)
来确定给定日期的唯一用户名的数量。
SELECT TO_CHAR(date_created, 'DD') DAY,
TO_CHAR(date_created, 'MM') MONTH,
TO_CHAR(date_created, 'YYYY') YEAR,
COUNT(DISTINCT username) AS userCount
FROM LOGIN_HISTORY
GROUP BY TO_CHAR(date_created, 'DD'),
TO_CHAR(date_created, 'MM'),
TO_CHAR(date_created, 'YYYY')