1

各行のユーザーの累積個別カウントを計算する列を返そうとしています (つまり、1 つの行について、その日付から最初の日付/行に戻って個別ユーザーをカウントしています)。DB2 でこのクエリを実行すると、「キーワード DISTINCT の使用が無効です」というメッセージが表示されます。

これを実用的なクエリに変換して、ユーザー名の累積個別カウントを返す方法についてのアイデアはありますか?

select title, "Date", th as "Total Monthly Hits", 
sum(th) over (partition by pageid order by "Date") as "Cumulative Total Hits", tuh as "Unique Monthly Hits", 
count(distinct(username)) over (partition by pageid order by "Date") as "Cumulative Total Unique Hits"  from(
select pageid, username, title, ym as "Date", sum(h) as th, sum(uh) as tuh from (
            select pageid, username
            ,NVL((select c.agest from COMMON.VMAX300A_AGENCY_USER c where c.ldap_email=d.username),'Unknown') as agency
            ,title, ym, h, uh from (
                        select pageid, username, title, ym, sum(hits) as h, count(distinct(username)) as uh from (
                                    select PAGEID,a.username
                                    ,(select MAX(b.TITLE) from bfelob_etl.budget_page_hits b where b.PAGEID=a.PAGEID) as title
                                    ,substr(SHORT_DATE,1,7) as ym,
                                    hits
                                    from bfelob_etl.budget_page_hits a
                                    where PAGEID in (1503)
                        ) group by pageid, username, title, ym 
            ) d
) group by pageid, username, title, ym)
where PAGEID in (1503)
4

0 に答える 0