Un agrégat assez compliqué ...
Question
Calculer le nombre d'étudiants, ainsi que l'âge de l'étudiant le plus vieux reçu par module, pour les modules du département "Informatique" dont la moyenne globale est supérieure à 12. Ne donnez la requête qu'en SQL.
Solution
SQL
1
SELECT C.NC, COUNT(DISTINCT E.NE), MAX(E.AGE)
2
FROM ETUDIANT E, RESULTAT R, COURS C
3
WHERE E.NE = R.NE
4
AND R.NC = C.NC
5
AND C.DPT = "Informatique"
6
GROUP BY C.NC
7
HAVING AVG(R.NOTE) > 12