こんにちは、次の内容を含むレポートを生成したいと考えています。カウントに対する国/目的地別の日次レポート。
例えば。
投稿数 動画なし 経験数 昨日のカウントに基づいて、各目的地の 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 つの行に表示します。
このクエリを記述するより良い方法はありますか?
助けていただければ幸いです。