create index registrants_lname_asc on registrants (lname ASC); SET @rownum := 0 SELECT CONCAT(min(@rownum := @rownum + 1), '-', max(@rownum), ' (', min(lname), '-', max(lname), ')') from registrants use index (registrants_lname_asc) group by floor(@rownum/100)