mysql的存储过程中 计算_mysql计算的存储过程

BEGIN    DECLARE  count1 INT;     DECLARE  min FLOAT;     DECLARE  b INT;     DECLARE  max FLOAT;     DECLARE  cname VARCHAR(500);    DECLARE  kcode VARCHAR(500);  DECLARE qj1  VARCHAR(500); DECLARE qj2  VARCHAR(500); DECLARE qj3  VARCHAR(500); DECLARE qj4  VARCHAR(500); DECLARE qj5  VARCHAR(500);   DECLARE temp1  FLOAT; /**/ DECLARE deft FLOAT;   DECLARE zz1  INT;   DECLARE zz2  INT;   DECLARE zz3  INT;   DECLARE zz4  INT;   DECLARE zz5  INT;   DECLARE vResult TINYINT;   DECLARE allweek CURSOR FOR select count(t.code) as count1, min(t.weekMin) as minweek, max(t.weeKmax) as maxweek,t.code as code1,t.name as cname from Week t where t.weekMin>0 and t.weekMax>0 group by t.code ;    declare continue handler for not found set b=1;  delete from weekrestbackups where content = null or content = ''; insert into weekrestbackups  select * from weekreset;     delete from weekreset  where 1=1; open allweek; repeat  begin FETCH allweek INTO count1, min, max, kcode,cname;  /*select count1, min,max,kcode;*/ set temp1 = (max-min)/5; select count(*) into zz1  from Week t where t.weekMin > min  and t.weekMin < (min+temp1) and t.code = kcode;       set qj1 =CONCAT(min,'--',FORMAT((min+temp1),2),'(',zz1,'周)',FORMAT(zz1/count1*100,2),'%'); select count(*) into zz2  from Week t where t.weekMin >= (min+(temp1*1))  and t.weekMin < (min+temp1*2) and t.code = kcode;  set qj2 =CONCAT(FORMAT(min+(temp1*1),2),'--',FORMAT((min+temp1*2),2),'(',zz2,'周)',FORMAT(zz2/count1*100,2),'%'); select count(*) into zz3  from Week t where t.weekMin >= (min+(temp1*2))  and t.weekMin < (min+temp1*3) and t.code = kcode;  set qj3 =CONCAT(FORMAT(min+(temp1*2),2),'--',FORMAT((min+temp1*3),2),'(',zz3,'周)',FORMAT(zz3/count1*100,2),'%'); select count(*) into zz4  from Week t where t.weekMin >= (min+(temp1*3))  and t.weekMin < (min+temp1*4) and t.code = kcode;  set qj4 =CONCAT(FORMAT(min+(temp1*3),2),'--',FORMAT((min+temp1*4),2),'(',zz4,'周)',FORMAT(zz4/count1*100,2),'%'); select count(*) into zz5  from Week t where t.weekMin >= (min+(temp1*4))  and t.weekMin <= (max) and t.code = kcode;  set qj5 =CONCAT(FORMAT(min+(temp1*4),2),'--',max,'(',zz5,'周)',FORMAT(zz5/count1*100,2),'%'); /*select qj1,qj2,qj3,qj4,qj5,kcode,min,max,count1; */ set deft=0.00; insert into weekreset(table_id,createTime,showTime,code,count,max,min,name,qj1,qj2,qj3,qj4,qj5) values(UUID(),UNIX_TIMESTAMP(),SYSDATE(),kcode,count1,max,min,cname,qj1,qj2,qj3,qj4,qj5); end; until b=1 end repeat; close allweek; END

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值