ibm*_*khd 3 postgresql sql-order-by divide-by-zero
我需要在postgres中执行此查询,但我无法摆脱此错误
ERROR: division by zero
SQL state: 22012
Run Code Online (Sandbox Code Playgroud)
这是查询:
select id,rates_sum,rates_count from tbl_node order by rates_sum/rates_count DESC;
Run Code Online (Sandbox Code Playgroud)
我知道我可以添加一个小值,rates_count
但我得到不准确的值.
有没有办法让postgres忽略这个错误,或使用if语句来检查零并用任何数字替换它们.再次按顺序by子句中的错误.
谢谢
使用CASE声明:
SELECT
id,
rates_sum,
rates_count
FROM
tbl_node
ORDER BY
rates_sum / (CASE rates_count WHEN 0 THEN NULL ELSE rates_count END) DESC NULLS FIRST;
Run Code Online (Sandbox Code Playgroud)
NULLS LAST
如果你愿意,你也可以使用.
归档时间: |
|
查看次数: |
5590 次 |
最近记录: |