MySQL Query loop HELP without using PHP -


i have following query:

set @year1 = 2011;  select  b.yearid, sum(b.ab), sum(b.h), sum(b.h)/ sum(b.ab)     batting b join pitching p      on (p.playerid = b.playerid , b.yearid = p.yearid , b.ab > 0 )            b.yearid = @year1 

this works fine retrieve results 1 year. can loop using on mysql allow me execute query , see results each year?

this code not work , produces syntax errors:

set @year1 = 2011;  while @year1 <= 2014  set @year1 = @year1 + 1;  select  b.yearid, sum(b.ab), sum(b.h), sum(b.h)/ sum(b.ab)     batting b join pitching p      on (p.playerid = b.playerid , b.yearid = p.yearid , b.ab > 0 )            b.yearid = @year1; end while 

can write query in mysql or must use language such php?

simplest use group by:

select  b.yearid, sum(b.ab), sum(b.h), sum(b.h)/ sum(b.ab) batting b join pitching p  on (p.playerid = b.playerid , b.yearid = p.yearid , b.ab > 0 )  b.yearid>=2011 , b.yearid<=2014 group b.yearid; 

this give list @ once.

a loop possible in stored procedure have use while syntax reasons:

create procedure someprocedure(in start_year int, end_year int)  begin   declare v_year_id int;   set v_year_id=start_year;   while(v_year_id<end_year)   loop     select  b.yearid, sum(b.ab), sum(b.h), sum(b.h)/ sum(b.ab)     batting b join pitching p      on (p.playerid = b.playerid , b.yearid = p.yearid , b.ab > 0 )      yearid=v_year_id;     group b.yearid;      set v_year_id=v_year_id+1;   end while; end; 

the local variable v_year_id eliminated has been added here clarity. if eliminate v_year_id like:

create procedure someprocedure(in start_year int, end_year int)  begin   while(start_year<end_year)   loop     select  b.yearid, sum(b.ab), sum(b.h), sum(b.h)/ sum(b.ab)     batting b join pitching p      on (p.playerid = b.playerid , b.yearid = p.yearid , b.ab > 0 )      yearid=start_year;     group b.yearid;      set start_year=start_year+1;   end while; end; 

calling procedure done with:

call someprocedure(2011,2014); 

Comments

Popular posts from this blog

searchKeyword not working in AngularJS filter -

sequelize.js - Sequelize: sort by enum cases -

user interface - how to replace an ongoing process of image capture from another process call over the same ImageLabel in python's GUI TKinter -