select d.id
,substring_index(substring_index(d.`column`,',',rownum+1),',',-1) showrow
,rownum
,length(d.`column`)-length(replace(d.`column`,',','' )) count
from d
join ( select t1.`index`+ t2.`index`*10 + t3.`index`*100 rownum from temp t1, temp t2,temp t3 ) t on t.rownum <= length(d.`column`)-length(replace(d.`column`,',','' ))
order by d.id,cast(substring_index(substring_index(d.`column`,',',rownum+1),',',-1) as SIGNED);
,substring_index(substring_index(d.`column`,',',rownum+1),',',-1) showrow
,rownum
,length(d.`column`)-length(replace(d.`column`,',','' )) count
from d
join ( select t1.`index`+ t2.`index`*10 + t3.`index`*100 rownum from temp t1, temp t2,temp t3 ) t on t.rownum <= length(d.`column`)-length(replace(d.`column`,',','' ))
order by d.id,cast(substring_index(substring_index(d.`column`,',',rownum+1),',',-1) as SIGNED);