0

こんにちは、次の内容を含むレポートを生成したいと考えています。カウントに対する国/目的地別の日次レポート。

例えば。

投稿数 動画なし 経験数 昨日のカウントに基づいて、各目的地の 1 週間の合計、1 年間の合計。

週の合計をカウントする次のクエリを作成しました。

select a.name, count(e.id),count(uc.id),count(v.id) 
from accommodation a, user_contribution uc,experience_video ev, video v,
(select id "ID",user_contribution_id,accommodation_id,case 
 when modified_on is null then trunc(created_on) 
 else trunc(modified_on) end last_modified from experience)e 
 where
      e.last_modified between trunc(sysdate)-7 and trunc(sysdate) and
      e.accommodation_id = a.id and
      e.user_contribution_id = uc.id and
      e.id = ev.experience_id and
      v.id = ev.video_id
group by a.name

union 

select l.name, count(ex.id),count(uc.id),count(v.id),count(r.id) 
from location l, user_contribution uc,experience_video ev, video v,
(select id "ID",user_contribution_id,location_id,case 
when modified_on is null then trunc(created_on) 
else trunc(modified_on) end last_modified from experience)ex 
where
    ex.last_modified between trunc(sysdate)-7  and 
    trunc(sysdate) and
    l.id = ex.location_id and
    ex.user_contribution_id = uc.id and
    ex.id = ev.experience_id and
    v.id = ev.video_id
group by l.name;

同様に、毎週および毎年のカウントを抽出するクエリを作成できます。

基本的に、宛先ごとにすべてのカウントを 1 つの行に表示します。

このクエリを記述するより良い方法はありますか?

助けていただければ幸いです。

4

0 に答える 0