2

日ごとに new_users を吐き出す簡単なクエリがあります...

Select trunc(create_dtime),Count(Player_Id) as New_Users
  From Player
 Where Trunc(Create_Dtime) >= To_Date('2011-APR-22','yyyy-mon-dd')
 Group By Trunc(Create_Dtime)
 Order by trunc(Create_Dtime)

毎日が進むにつれて、これで new_users を合計したいと思います...たとえば、現在のクエリで結果が次のように吐き出された場合:

Apr 22
Apr 23
Apr 24 of 1000 new users each day...

この新しいクエリに次のように伝えたい:

Apr 22 = 1000 New users
Apr 23 = 2000
Apr 24 = 3000

... というように、最後の日付 (今日) が新しいユーザーの総数を 1 つの行に表示するまで続きます。

これが十分に明確かどうか教えてください。

4

1 に答える 1

1

これは、オラクルが分析関数を通じて喜んでサポートする累積合計を使用して行います。

select thedate, New_Users,
       sum(New_Users) over (order by thedate) as Cumulative_New_Users
from (Select trunc(create_dtime) as thedate, Count(Player_Id) as New_Users
      From Player
      Where Trunc(Create_Dtime) >= To_Date('2011-APR-22','yyyy-mon-dd')
      Group By Trunc(Create_Dtime)
     ) t
Order by 1
于 2012-09-13T20:22:48.173 に答える