Requete jpql permettant de calculer le rang d'élèves par rapport a leur moyenne

Fermé
Adoum - 24 janv. 2021 à 16:20
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 24 janv. 2021 à 18:03
Bonjour,


pour plus de précision voila ma requete
(SELECT COUNT(*) + 1
FROM (SELECT DISTINCT e1.classe.id, e1.moyenne FROM Eleves AS e1 WHERE e1.classe.id=classe) AS e2
WHERE (e1.moyenne > e2.moyenne) AND (e2.classe.id = e1.classe.id)
)
Configuration: Windows / Chrome 88.0.4324.104

1 réponse

KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 3 005
24 janv. 2021 à 18:03
Bonjour,

Je ne vois pas l'intérêt de faire ce calcul via une requête. Tu peux juste récupérer les données brutes que tu veux via une requête simple puis les traiter programmatiquement avec tous les outils dont dispose Java, en l'occurrence un simple tri suffira.

List<Eleve> listEleve = // SELECT e FROM Eleve e WHERE e.classe.id = :idClasse
listEleve.sort(Comparator.comparing(Eleve::getMoyenne));
0