sql - 四舍五入消除小数
问题描述
我有以下查询:
SELECT ds,
round(count(CASE WHEN action = 'accepted' THEN 1
ELSE NULL END) * 1.0 / count(action),2) * 100 as perc
FROM friend_requests
group by 1
输出:
perc
50.00
100.00
50.00
所需的输出:
perc
50
100
50
如果我想删除小数并且只有 50 或 100 我该如何编辑它?我尝试将 ,2 参数更改为 ,0 并将所有值四舍五入为 100
谢谢
解决方案
将您的perc
字段转换为int
类型并删除该round
函数:
SELECT
ds,
cast(count(CASE WHEN action = 'accepted' THEN 1 ELSE NULL END) * 1.0 / count(action) * 100 as int) as perc
FROM friend_requests
group by 1
推荐阅读
- c# - .Net-Core 中引用工作方式的更改
- sql - RID 查找 - 逻辑搜索
- java - 如何将 Java 编译时自定义注释添加到 Protobuf 生成的代码
- javascript - 如何在下面的 javascript 代码中添加显示所有卡片按钮?
- python - 使用python连接到MySQL数据库
- python - CS50 Finance - 指数未正确显示投资组合
- google-cloud-build - 将 Java 应用程序部署到 Google App Engine 标准版的适用“cloudbuild.yaml”步骤是什么?
- arrays - 当显示的数据是另一个工作表中的数组时,在 Google 表格中返回空单元格而不是 0
- java - Webots:以编程方式创建节点
- r - 在 R 中使用 cv.glmnet 对象创建模型矩阵以预测新数据