Finalmente no encontré un defecto puntual que pueda generar el doble recorrido de la tabla, y como hacer una prueba de escritorio en ese contexto me resulta demasiado engorroso, opté por una aproximamción diferente.
La cosa es así:
Según entendí, lo que quieres obtener es la lista de numeros de lotería, discriminada por la cantidad de veces que se repite cada uno en una secuencia de cinco numeros de un sorteo, y a su vez encolumnados en base a la cantidad de repeticiones que se dan.
Para lograrlo cuentas la cantidad de veces en que un numero se repite y descartas las repeticiones para evitr la duplicidad de representaciones.
Si no me equivoco, esta consulta te devovlerá un array de dos campos, donde el primero es el numero que sale sorteado, y el segundo representa la cantidad de veces que se lo halló en la tabla, sin discriminar en qué posicion de las cinco salió.
Si este array te sirve, solamente tendrías que representarlo, generando una columna nueva por cada cambio de "repet" que haya.
Lamentablemente no hay forma de hacer tablas inversas en MySQL.
Fijate si te sirve, y qué habría que afinarle.