DB2 查询某条件占比的 SQL
今天为晨检脚本增加了记录记账成功率的功能,SQL 的写法大致为:
select sum(case when 记账状态='记账成功' then 1 else 0 end)/cast(count(1) as decimal(18,2)) from 表 where 条件
这里有两个关键点:
- 使用 case 语句将符合条件的记录值变为 1,其他值变为 0,这样累加起来的值就是符合条件的记录数了。
- 在 DB2 中两个整数做除法,结果还会是一个整数。这时需要使用 cast 语句将其中一个整数转换为小数才能保留小数位。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论