select floor(regno/100) "groupby", min(regno),max(regno),min(name),max(name) from registrations group by `groupby`; #### set @rownum := 0; select floor(@rownum := @rownum + 0.01) "set_num", min(lname),max(lname) from (select * from registrants order by lname) reg group by "set_num";