此查询(最小可重现的示例):
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
Run Code Online (Sandbox Code Playgroud)
在PostgreSQL 9.4抛出
被零除
没有SUM它的工作原理.
这怎么可能?