我在列'revenues_from_appointment'中有一个null值的数据集
数据集
patient_id | practicer_id | appointments ment_duration_min | revenues_from_appointment | 2021-06-28 | 42734 | 748 | 30道明> |
---|---|---|---|---|
2021-06-29 | 42737 | 747 | 60 | 150.0 |
2021-07-01 | 42737 | 747 | 60 | 南 |
2021-07-03 | 42736 | 748 | 30道明> | |
2021-07-03 | 42735 | 747 | 15道明> | |
2021-07-04 | 42734 | 748 | 30 | 南 |
2021-07-05 | 42734 | 748 | 30道明> | |
2021-07-10 | 42738 | 747 | 15道明> | |
2021-08-12 | 42739 | 748 | 30道明> |
您可以使用AVG
窗口函数,它将对感兴趣的三列进行分区,并使用COALESCE
函数替换空值:
SELECT appointment_date,
patient_id,
practitioner_id,
appointment_duration_min,
COALESCE(revenues_from_appointment,
AVG(revenues_from_appointment) OVER(PARTITION BY patient_id,
practitioner_id,
appointment_duration_min))
FROM tab
在这里试试。