1
我有以下格式聚合功能,以保持特定的值,這取決於其他列
id_A id_B val -------------------------------- 1 1 1 1 2 2 2 1 3 2 3 4
的數據是否有一個很好的方式,以組由ID_A同時保持線,其中ID_A = ID_B的價值?
我需要聚合的原因是,如果沒有這樣的線,我想平均。
結果應該是這樣的:
id_A val ----------------- 1 1 2 3.5
我已經想出以下,但這種情況下,看起來醜陋,哈克給我。
Select id_A,
Coalesce(
avg(case when id_A = id_B then val else null end),
avg(val)
) as value
From myTable
Group by id_A;
您的查詢看起來不錯,我和我upvoted你所付出的努力。 –
你使用的是什麼版本的postgres? –
我使用的是postgres 8.3,不過謝謝你的回答。 – Atn