【发布时间】:2018-08-27 16:50:46
【问题描述】:
此查询(可重现的最小示例):
WITH t as (
SELECT 3 id, 2 price, 0 amount
)
SELECT
CASE WHEN amount > 0 THEN
SUM(price / amount)
ELSE
price
END u_price
FROM t
GROUP BY id, price, amount
关于 PostgreSQL 9.4 抛出
除以零
没有SUM 它可以工作。
这怎么可能?
【问题讨论】:
-
在 PostgreSQL 10 (10.3) 上的行为相同。
-
似乎与 CTE 有关,因为
... FROM ( values (3, 2, 0) ) as t(id, price, amount) ...工作正常。可能值得logging as a bug