这个如何算完成率?完成率是根据每道工序的数量/总数量(按照每天的报工时间的总数量)

select process_name 工序,to_char(buste_time,'MM-DD') c  ,

 count(to_char(buste_time,'MM-DD')) a 

from public.mes_buste_page

 group by to_char(buste_time,'MM-DD'),process_name 

 order by to_char(buste_time,'MM-DD')

555.png

caryzhangbing 发布于 2021-4-15 11:16
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
烟尘Lv6高级互助
发布于2021-4-15 11:21(编辑于 2021-4-15 11:47)

思路不对,不应该除以总数量吧,这样完成率永远达不到100%

完成率应该是工序完成数量/工序接单数量

select t1.工序,t1.c,t1.a*1.0/t2.a as 完成率 

from 

(select process_name 工序,to_char(buste_time,'MM-DD') c  ,

 count(to_char(buste_time,'MM-DD')) a 

from public.mes_buste_page

 group by to_char(buste_time,'MM-DD'),process_name) t1

inner join (

select to_char(buste_time,'MM-DD') c ,count(to_char(buste_time,'MM-DD')) a 

from public.mes_buste_page

 group by to_char(buste_time,'MM-DD')) t2 on t1.c=t2.c

  • caryzhangbing caryzhangbing(提问者) 可能不叫完成率 那占比怎么搞
    2021-04-15 11:23 
  • 烟尘 烟尘 回复 caryzhangbing(提问者) 按日期合计总数,然后join你的sql查询on日期相等,然后sum工序数量/日期合计总数
    2021-04-15 11:26 
  • caryzhangbing caryzhangbing(提问者) 你这结果都是O
    2021-04-15 11:40 
  • 烟尘 烟尘 回复 caryzhangbing(提问者) 转一下类型,把count结果转成float,或者*1.0
    2021-04-15 11:46 
  • 烟尘 烟尘 回复 caryzhangbing(提问者) t1.c,t1.a*1.0/t2.a as 完成率
    2021-04-15 11:47 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-4-15 11:24

image.png

  • 2关注人数
  • 459浏览人数
  • 最后回答于:2021-4-15 11:47
    请选择关闭问题的原因
    确定 取消
    返回顶部