1dropprocedureifexists shukei;2delimiter//3createprocedure shukei(in d date)4begin5set@d:=d;6set@sql="";7set@sql=concat(@sql,"select nickname");8set@sql=concat(@sql,",sum((d=@d-interval 6 day)*work) as `",@d-interval6day,"`");9set@sql=concat(@sql,",sum((d=@d-interval 5 day)*work) as `",@d-interval5day,"`");10set@sql=concat(@sql,",sum((d=@d-interval 4 day)*work) as `",@d-interval4day,"`");11set@sql=concat(@sql,",sum((d=@d-interval 3 day)*work) as `",@d-interval3day,"`");12set@sql=concat(@sql,",sum((d=@d-interval 2 day)*work) as `",@d-interval2day,"`");13set@sql=concat(@sql,",sum((d=@d-interval 1 day)*work) as `",@d-interval1day,"`");14set@sql=concat(@sql,",sum((d=@d)*work) as `",@d,"`");15set@sql=concat(@sql,",sum(( d between @d - interval 6 day and @d)*work) as sum_week ");16set@sql=concat(@sql,"from tbl ");17set@sql=concat(@sql,"where d between @d - interval 6 day and @d ");18set@sql=concat(@sql,"group by nickname ");19set@sql=concat(@sql,"order by sum_week desc ");20prepare stmt from@sql;21execute stmt;22end23//24delimiter;