在计算HIVE中的AVG时如何用0替换NULL值

时间:2016-09-01 20:40:50

标签: hive

我正在为HIVE中的一列计算AVG(使用窗口函数)。查询看起来像这样

SELECT AVG(price) (PARTITION BY cust_id ORDER BY mnth DESC ROWS BETWEEN 1 FOLLOWING AND 12 FOLLOWING)

price列有一些NULL值,AVG函数在计算中不考虑它们。但是我需要将NULL值作为0来处理。我使用NVL如下

SELECT AVG(NVL(price)) (PARTITION BY cust_id ORDER BY mnth DESC ROWS BETWEEN 1 FOLLOWING AND 12 FOLLOWING)

然而,这不起作用。我该如何处理这个问题?

1 个答案:

答案 0 :(得分:1)

SELECT AVG(NVL(price,0))

您忘记了第二个参数(default_value)