postgresql - Postgresql 舍入数值
问题描述
我试图从下面的查询中得到小数点后 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
解决方案
你可以使用:
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
推荐阅读
- clojure - How to Access Environment Variables In Clojure - Luminus Web Framework
- reactjs - React-hook-form with Material-ui textfield without autoFocus defaultValue 在表单提交期间消失了
- .net - 如何使用 HotChocolate 和 Dapper 根据 GraphQL 请求自定义 SQL 查询?
- react-admin - 如何在 react-admin 中包含 DataGrid 或 SimpleForm 中的对象?
- javascript - 错误 TableExistsException:无法使用 Mikro-ORM 和 PSQL 创建迁移
- .net - Protobuf:重复应该发出集合访问器
- python - 避免在 PyTorch 的批量张量中选择维度的循环
- python - 为什么获取 PostForm' 对象没有属性'用户?
- node.js - 我是否错误地访问了我的生产 API?
- django - How to add user roles on Signup?