Oracle の監査テーブルにクエリを実行して、特定の期間 (一意のヒット数) でのドキュメントの人気度のリストを取得しようとしています。
これまでに開発した SQL は次のとおりです。
select distinct dt.name "Document name", ku.name "User name", count(*) "Number of hits"
from dauditnew da,
kuaf ku,
dtree dt
where ku.id=da.performerid
and (da.auditstr='Fetch')
and dt.dataid = ANY(DOCID1,DOCID2)
and da.dataid = ANY(DOCID1,DOCID2)
and da.auditdate between TO_DATE('01-JAN-12') and TO_DATE('31-OCT-12')
group by dt.name, ku.name
そして、次のようなデータを吐き出します。
Document name User name Hit count
document1.pdf rimnet\user1 1
document1.pdf rimnet\user2 1
document1.pdf rimnet\user3 17
document1.pdf rimnet\user4 1
document2.pdf rimnet\user5 1
document1.pdf rimnet\user6 1
document3.pdf rimnet\user7 1
しかし、私が本当に必要としているのは、結果をグループ化し、各ユニーク ユーザーを 1 回カウントすることです。
Document name User name Hit count
document1.pdf n/a 5
document2.pdf n/a 1
document3.pdf n/a 1
誰かが私を正しい方向に向けることができますか?