【发布时间】:2014-04-08 02:10:00
【问题描述】:
我正在尝试运行以下查询,结果是postgres error: division by zero
select
request_count,
response_count,
(response_count*100) / (request_count+response_count) AS proportion
from total_dummy_table;
如何避免和解决division by zero 错误?
尝试使用以下查询进行修复,但得到与上述相同的结果
SELECT
request_count,
response_count,
(response_count*100) / (request_count) AS proportion
FROM
total_dummy_table
ORDER BY
(response_count*100) /(CASE request_count WHEN 0 Then NULL ELSE request_count END) DESC NULLS FIRST
请让我知道我哪里做错了,或者我该如何解决这个问题。 谢谢!
结果预期:
查询应该返回如下内容:
Request_count | Response_count | Proportion
1603423 | 585706 | 36.52
快速说明: 表total_dummy_table 没有列名proportion 是对其中已计算比例的结果的加法。
【问题讨论】:
-
如果
request_count+response_count为零,你想显示什么? -
如果 request_count 和 response count 为 0 我希望比例列显示为 0。
-
在更高级别上执行此操作,请参阅我的答案以获取潜在解决方案...
标签: sql postgresql percentage postgresql-9.2