2016-06-21 7 views
1

私はOracle 12cを使用しており、毎日一意のユーザー名行の数を取得する必要があります。現在、以下の表には同じ日に同じユーザー名を持つ複数の行があります(date_created)。ユニーク毎日あなたのdate_created列を識別するために必要なI当日使用して、グループ、月、年、以下のクエリで一意の列数を日ごとに取得

LOGIN_HISTORY 
---------------- 
id (unique random generated long) 
date_created (timestamp) 
username (var char) 
+0

何を試しましたか? – Ali786

答えて

1

。私は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') 
+1

私はTO_CHARの代わりに 'TRUNC(date_created)'を使用したいと思いますが、これも正しく見えます。 – dmansfield

関連する問題