sql server 查询出现部分错误

发布于 2022-09-03 14:25:05 字数 816 浏览 11 评论 0

select t1.mk,t2.gnjy,t1.rjcw,t3.total,count(t1.rjcw)/(t3.total*1.0) percentage
from (select mk,count(cswhdxs) as rjcw from YSDP_DATA where YEAR(TJSJ)=2015 and CSWHDXS='软件错误' group by mk) t1 left join
     (select mk,count(cswhdxs) as gnjy from YSDP_DATA where YEAR(TJSJ)=2015 and CSWHDXS='功能建议' group by mk) t2 
      on t1.mk=t2.mk left join
     (SELECT mk,count(cswhdxs) AS total FROM YSDP_DATA where year(TJSJ)=2015 group by MK) t3
      on t1.mk=t3.mk
group by t1.MK,t1.rjcw,t2.gnjy ,t3.total
 

查询语句如上,目的很简单,就是统计表中字段CSWHDXS中(特定年份)软件错误 和 功能建议 的数量并算出 软件错误 在该列的占比,最后用另一字段mk进行分类。
现在前4列应该都没有问题,最后一列计算却有明显错误,结果如下图

图片描述

最后一列明显计算错误,求教大家原因在哪里,应该如何修改。或者是我的思路根本不对。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

赠佳期 2022-09-10 14:25:05

    count(t1.rjcw)/(t3.total*1.0) percentage
    改成
    t1.rjcw/(t3.total*1.0) percentage
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文