星空2020 2022-03-20 09:32 采纳率: 64.1%
浏览 242
已结题

mysql中两个count值相除,如何合并?

如何合并如下两条语句实现两个结果相除保留2位小数的百分比。
语句1:
select count(id) as total_pass from table1 where status = 'pass' group by orderid,product
语句2:
select count(sn) as total_sn from table1 group by group by orderid,product
实现结果:
orderid | product | total_pass | total_sn | rate
201 | 产品A | 50| 50| 100.00%
203 | 产品B | 60| 120 | 50.00%

  • 写回答

2条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-03-20 11:14
    关注

    group by 的维度一样,没必要分两次查,可以直接在count里写判断条件

    select orderid,product,
    count(case when status='pass' then id end) total_pass,
    count(sn) total_sn,
    concat(round(count(case when status='pass' then id end)/count(sn)*100,2),'%') rate
    from table1 group by group by orderid,product
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 修改了问题 3月20日
  • 创建了问题 3月20日