sql语句: select max(bz) into @nu from ( select staff,count(*) as bz from tt group by staff) asp循环 set i=1; set @asql=''; while i<=@nu do set @asql=concat('sum(if(bz=',i,...) 自己写SQL语句 set i=i+1; end while 生成标识字段: set @q=1; set @a=''; select *,@q:=if(@a=staff,@q+1,1),@a=staff from tt
select id,staff,group_concat(record separator '|') from test group by staff;
2、打开游标循环取值,字符串累加生成SQL语句,如下述格式
sum(if(bz=1,...,....)),
sum(if(bz=2,...,....)),
....
再执行
不是很明白,能说得清楚点么,sum(if(bz=1,...,....)), bz , 这样,recode列的数据怎么弄进去的。能写个详细点的例子么?
select max(bz) into @nu from (
select staff,count(*) as bz from tt group by staff) asp循环
set i=1;
set @asql='';
while i<=@nu do
set @asql=concat('sum(if(bz=',i,...) 自己写SQL语句
set i=i+1;
end while
生成标识字段:
set @q=1;
set @a='';
select *,@q:=if(@a=staff,@q+1,1),@a=staff from tt