Cita: Haber no entiendo mucho pero.. el problema que tienes es que te duplica los resultados, es eso? esi ese es el problema quitale el while:
Cita: muchas gracias eso mismo era , gracias (Y)
pues revisa la consulta y agrega al final "LIMIT 1"
sino, el servidor SQL procesa las 5 asignaturas (tu solo muestras una pero se prosesan todas) y eso genera una sobrecarga innesesaria, si tienes mas de 2000 alumnos que listar veras claras diferencias de tiempo.
asi solo estas tapando el problema no solucionandolo. saludos