Postgresql舍入数值

问题描述 投票:1回答:1

我试图从下面的查询中得到3位小数的输出。

我得到的输出是2.2600

如果我在下面的圆函数中将参数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
postgresql
1个回答
2
投票

你可以使用:

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
© www.soinside.com 2019 - 2024. All rights reserved.