tengo las siguientes tablas
alumno
-nombre
-apellido
id_alumno
id_curso
curso
-materia
-id_curso
nota
-nota
id_nota
id_alumno
y lo que quier hacer es listar los alumnos por materia y mostrar el promedio mayor por materia
Alguna idea como hacerlo
logre hacer esto
Código
SELECT a.nombre AS alumno,avg(n.nota)AS promedio FROM alumno AS a INNER JOIN curso AS c ON(c.id_curso=a.id_curso) INNER JOIN nota AS n ON(n.id_alumno=a.id_alumno) WHERE a.id_alumno IN (SELECT a2.id_alumno FROM alumno AS a2 INNER JOIN nota AS n ON (n.id_alumno = a2.id_alumno) GROUP BY a2.id_alumno HAVING avg (n.nota)>7) GROUP BY a.nombre
pero me muestra 1 alumno de 1 materia y su promedio
alguna idea?
gracias