Sql Can';t使用postgres 10的窗口函数使NULLIF工作
我试图使用NULLIF来避免在使用postgres的over-window函数时被零除的错误 它在“结束”处或附近抛出“语法错误” 我正在使用此查询:Sql Can';t使用postgres 10的窗口函数使NULLIF工作,sql,postgresql,Sql,Postgresql,我试图使用NULLIF来避免在使用postgres的over-window函数时被零除的错误 它在“结束”处或附近抛出“语法错误” 我正在使用此查询: SELECT dlo.nombre_cadena, dpr.marca_producto, sum(rep.mes_33_uni) / NULLIF(sum(sum(rep.mes_33_uni)), 0) over (partition by dpr.marca_producto) AS porcentajep,
SELECT
dlo.nombre_cadena, dpr.marca_producto,
sum(rep.mes_33_uni) / NULLIF(sum(sum(rep.mes_33_uni)), 0) over (partition by dpr.marca_producto) AS porcentajep,
FROM
rpro_dim.reporte33_full rep
JOIN rpro_dim.dim_productos_retail dpr ON dpr.id_dim_prod_retail = rep.id_dim_prod_retail
JOIN rpro_dim.dim_locales dlo ON dlo.id_dim_local = rep.id_dim_localgroup by
dlo.nombre_cadena, dpr.marca_producto
order by dlo.nombre_cadena, dpr.marca_producto
与
您正在尝试将nullif()
作为窗口函数执行
您应该将整个表达式作为nullif()
的参数:
与
您正在尝试将nullif()
作为窗口函数执行
您应该将整个表达式作为nullif()
的参数:
NULLIF(sum(sum(rep.mes_33_uni)), 0) over (partition by dpr.marca_producto) -- error!
NULLIF(sum(sum(rep.mes_33_uni)) over (partition by dpr.marca_producto), 0)