我正在尝试从以下查询中获取小数点后 3 位的输出。
我得到的输出是 2.2600
如果我在下面的 round 函数中将参数 4 更改为 3,则输出将为 2.300
不正确,应该是2.26
Select date(time),
round((count(case WHEN status='404 NOT FOUND' THEN 1 END))
/
(count(*))::numeric,4) * 100 as error_percentage
from log GROUP BY date(time)
ORDER BY error_percentage DESC
最佳答案
你可以使用:
SELECT date(time),
ROUND(100.0 * (count(*) FILTER(WHERE status='404 NOT FOUND'))/(count(*)),3)
as error_percentage
FROM log
GROUP BY date(time)
ORDER BY error_percentage DESC
关于Postgresql 四舍五入数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55439235/