2012-09-08 130 views
6

我有兩個查詢,下面兩個都來自同一個「玩家」表。我想通過查詢2劃分查詢1以獲得相關的百分比。我相對較新的更詳細的SQL查詢,以及張貼在論壇上......但請讓我知道,如果你有任何建議如何結合這個來獲得相關的百分比結果。SQL - 劃分兩個結果

Select 
    sysdate,sum(Count(init_dtime)) 
From Player p 
Where 
    Trunc(Init_Dtime) > Trunc(Sysdate) - 7 
    And Trunc(Create_Dtime) >= To_Date('2012-mar-01','yyyy-mon-dd') 
    and trunc(create_dtime) < to_date('2015-sep-9','yyyy-mon-dd') 
Group By Trunc(Init_Dtime) 
Order By Trunc(Init_Dtime) Asc 
Select 
    Sum(Count(Create_Dtime)) 
From Player P 
where 
    Trunc(Create_Dtime) >= To_Date('2012-mar-01','yyyy-mon-dd') 
    And Trunc(Create_Dtime) < To_Date('2015-sep-9','yyyy-mon-dd') 
Group By Trunc(create_Dtime) 
Order By Trunc(create_Dtime) Asc 
+1

你已經有兩個答案,這讓我吃驚,因爲我不我不明白這個問題。你想每個玩家有一個號碼還是一個號碼?如果答案不是您想要的,那麼請嘗試發佈玩家表中的原始數據集,預期結果集和轉換說明。 –

+0

@Rob van Wijk - 遺憾的是缺乏清晰度。我試圖讓所有球員的總數合起來。在「玩家」表中有很多列,但是這裏重要的是:1)「create_dtime」,它是特定玩家創建賬戶的日期,以及2)init d_time,這是特定日期的最後日期玩家已登錄。對於特定日期範圍內的所有玩家,我想通過查詢2(創建帳戶的總用戶數)劃分查詢1(最近7天內的所有活動玩家,對於在3/1/12之後創建帳戶的用戶)在2012年3月1日之後) – Americo

回答

4

你就可以說

select sysdate, 
     count((init_dtime))/sum((Create_Dtime)) * 100 as percentage 
    from Player p 
where Trunc(Init_Dtime) > Trunc(Sysdate) - 7 
    and Trunc(Create_Dtime) >= To_Date('2012-mar-01','yyyy-mon-dd') 
    and trunc(create_dtime) < to_date('2015-sep-9','yyyy-mon-dd') 
    order by percentage asc 

group by在不需要你不是真正的東西分組獲得的SQL。例如,當你需要玩家的百分比時,group by很有用。然後你會說group by player_id,並在select將有player_id

select player_id, count(…) 
    from … 
where … 
group by player_id 

編輯: 如果WHERE子句是不同的:

select sysdate, 
     (
      (select count((init_dtime)) 
      from player p 
      where trunc(Init_Dtime) > trunc(Sysdate) - 7 
       and Trunc(Create_Dtime) >= To_Date('2012-mar-01','yyyy-mon-dd') 
       and trunc(create_dtime) < to_date('2015-sep-9','yyyy-mon-dd')) 
      /
      (select count((Create_Dtime)) 
       from player P 
      where trunc(Create_Dtime) >= To_Date('2012-mar-01','yyyy-mon-dd') 
       and trunc(Create_Dtime) < To_Date('2015-sep-9','yyyy-mon-dd')) 
     ) * 100 as percentage 
from dual 
+0

雖然 –

+0

Mike具有不同的'WHERE'子句,儘管eveything是從玩家表中提取的,但是兩個querys是根據不同的標準來構建的。我可以手動執行2個查詢並把它們分開,但是那裏的樂趣在哪裏!?我想我會開始使用這個論壇來嘗試擴展我的自動化。 – Americo

+0

@MichaelBerkowski沒有注意到。將更新答案。 – Nivas