0
假設有是包含以下數據的表格demoa
:如何用平均值替換空值而不使用組?
date a b c
2017-05-22 1 6 10
2017-05-23 2 7 11
2017-05-24 3 8 12
2017-05-25 4 9 null
2017-05-26 5 null null
2017-05-27 null null null
我想和其對應的列的平均值來替換null
值:
date a b c
2017-05-22 1 6 10
2017-05-23 2 7 11
2017-05-24 3 8 12
2017-05-25 4 9 11
2017-05-26 5 7.5 11
2017-05-27 3 7.5 11
我試圖nvl
與avg()
,但這需要每列group by
,並且不能刪除null
值:
select
date,
nvl(a,avg(a)),
nvl(b,avg(b)),
nvl(c,avg(c))
from damoa
group by date,a,b,c;
任何幫助表示讚賞。
謝謝!但是我仍然困惑爲什麼avg()需要'group by',而avg()over()不需要? – superz
你必須學習windows功能。我建議你從'row_number'開始。 –