0
我想爲此使用分析,因爲我有其他幾個相似的統計數據,我想要 報告。這是一個正確使用'分區'的問題嗎?
問:使用Oracle Analytics,我怎樣才能在每個機場只有一行?
with detail_records as
(select 1 as passenger_id, 'ATL' as airport, 'E4' as gate, 10 as luggage_weight from dual union all
select 2 as passenger_id, 'ATL' as airport, 'E4' as gate, 25 as luggage_weight from dual union all
select 2 as passenger_id, 'SFO' as airport, 'E4' as gate, 20 as luggage_weight from dual union all
select 3 as passenger_id, 'SFO' as airport, 'E4' as gate, 30 as luggage_weight from dual union all
select 4 as passenger_id, 'SFO' as airport, 'E4' as gate, 40 as luggage_weight from dual
)
select airport,
count(*) over (partition by airport) as airport_count,
sum(luggage_weight) over (partition by airport, gate) as a_g_weight
from detail_records
where gate='E4'
結果
AIRPORT AIRPORT_COUNT A_G_WEIGHT
ATL 2 35
ATL 2 35
SFO 3 90
SFO 3 90
SFO 3 90
預期的效果
Airport Airport_count A_G_WEIGHT
ATL 2 35
SFO 3 90
嘗試'選擇DISTINCT機場,...' –
如果您通過單個門進行過濾,那麼該列的分區不會添加任何內容;如果你通過多個門(或全部)過濾,那麼你將有多個'a_g_weight'值,沒有任何解釋原因。 –