SQL中求百分比

concat(TRUNCATE(((anInt-untreatedorders)/anInt)*100,1) ,'%')

(anInt-untreatedorders) 和 anInt  两个数值

实际操作

select *,concat(TRUNCATE(((anInt-untreatedorders)/anInt)*100,1) ,'%') percentage from (
select lw.delivery_name carriers,
(select count(*) from xx_logistics_waybill w1 where w1.delivery_name=lw.delivery_name) anInt,
(select count(*) from xx_logistics_waybill w3 where w3.delivery_name=lw.delivery_name and w3.assign_no=0) standby,
(select count(*) from xx_logistics_waybill w4 where w4.delivery_name=lw.delivery_name and w4.assign_no=1) carryon,
(select count(*) from xx_logistics_waybill w5 where w5.delivery_name=lw.delivery_name and w5.assign_no=4) pickupgoods,
(select count(*) from xx_logistics_waybill w6 where w6.delivery_name=lw.delivery_name and w6.assign_no=5) transportation,
(select count(*) from xx_logistics_waybill w7 where w7.delivery_name=lw.delivery_name and w7.assign_no=6) inspect,
 (select count(1) from xx_logistics_waybill s where  (TIMEDIFF(Now(), s.assign_time) > '00:30:00') and s.id in (SELECT s.id FROM xx_logistics_waybill s where s.status >= 1 and s.`status`<>2   and s.assign_no= 1 and s.create_date >=  '2021-06-01 00:00:00'  and s.delivery_name in(lw.delivery_name)) )untreatedorders
from xx_logistics_waybill lw group by lw.delivery_name 
) temp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值