HAVING avec sous-requête : filières au-dessus de la moyenne
PrepaSup
Enonce
Affiche les filières dont le nombre d'élèves est strictement supérieur à la moyenne du nombre d'élèves par filière.
PrepaSup
Notes(id, id_user, matiere, date_eval, note)
Colles(id, id_user1, id_user2, date_colle)
Classes(id, id_note, id_user, appreciation, date_conseil)
Dates au format YYYY-MM-DD. Notes sur 20.
📖 Rappel de cours
Le seuil n'est pas une constante : il se calcule. Une sous-requête produit la moyenne des effectifs, et le HAVING compare chaque groupe à cette valeur.
⚠ Le piège : La moyenne des effectifs par filière n'est pas la moyenne des lignes : il faut d'abord compter par filière, puis moyenner ces comptes. D'où la sous-requête imbriquée sur deux niveaux.
← Exercices SQL pour la prépa — bases de données en CPGE
Exercices du meme theme
- Agrégation conditionnelle avec CASE WHEN
- CTE : statistiques intermédiaires par élève
- DENSE_RANK des filières par nombre d'élèves
- CTE récursive : chaîne de colles depuis l'élève 1
- INSERT ... SELECT : archiver les anciennes évaluations
- UPDATE avec sous-requête : compter les appréciations
La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.