我需要在 postgres 中执行这个查询,但我无法摆脱这个错误
ERROR: division by zero
SQL state: 22012
这是查询:
select id,rates_sum,rates_count from tbl_node order by rates_sum/rates_count DESC;
我知道我可以添加一个小值rates_count
但我得到的值不准确。
有没有办法让 postgres 忽略这个错误,或者使用 if 语句检查零并将其替换为任何数字。
再次出现 order by 子句中的错误。
Thanks
使用 CASE 语句:
SELECT
id,
rates_sum,
rates_count
FROM
tbl_node
ORDER BY
rates_sum / NULLIF(rates_count,0) DESC NULLS FIRST;
你也可以使用NULLS LAST
, 如果你想。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)