Podemos intentar algo con las variables de usuario:
Código MySQL:
Ver original id_registro,
rut,
comuna,
localidad,
nombrecliente,
direccion,
telefonocontacto
id_registro,
rut,
comuna,
localidad,
nombrecliente,
direccion,
telefonocontacto
IF(comuna
= @nro_comuna
, @subitem
:= @subitem
+ 1, @subitem
:=1) cambio
, IF(comuna
= @nro_comuna
, @nro_comuna
, @nro_comuna
:=comuna
) cambia_comuna
, @subitem sub_item
La idea es que genere un listado y vaya numerando de 1 en 1 los que pertenecen a la misma comuna. Cada vez que la comuna cambia en la lista (por eso se necesita ordenarla), se reinicia la numeración.
Eso permitiría separar los primeros cinco puestos de cada columna y listarlos en la consulta exterior...