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