我使用的是Oracle 12.1.0.2.0 我想要當前組(分區)的平均值差異 - 前一組(分區)的平均值 我的代碼獲取當前組平均是Oracle獲取當前和以前組(分區)的平均值
with rws as (
select rownum x, mod(rownum, 2) y from dual connect by level <= 10
), avgs as (
select x, y, avg(x) over (partition by y) mean from rws
)
select x, y, mean
from avgs;
現在我想是這樣的:
X Y MEAN PREV_MEAN MEAN_DIFF 4 0 6 8 0 6 2 0 6 6 0 6 10 0 6 9 1 5 6 -1 7 1 5 3 1 5 1 1 5 5 1 5 2 2 3 5 -3 3 2 3 5 2 3 1 2 3 4 2 3
AVG(這個分區組) - AVG(以前的分區組) 在這種情況下,我需要(5-6)在GROUP_MEAN_DIFFERENCE列中進行計算。
另外我怎樣才能得到平均差異總是w.r.t第一組。 在上面的例子中,我需要(5 - 6)和(3 - 6)
能否請您協助?
什麼是 「以前的分區組」?請提供樣本數據和期望的結果。 –
。 。您的示例數據不會使用代碼段中的列。目前還不清楚你的代碼和數據之間的關係是什麼。 –