SQL requete à problème

Résolu/Fermé
Skywin - 22 déc. 2008 à 16:01
 Skywin - 22 déc. 2008 à 23:08
Bonjour,

Je cherche à établir des statistiques sur mon site web et une requête me pose quelque difficultés depuis un moment.

J'ai une table étudiants avec pour attributs 'statut' et 'id'.
'statut' peut prendre 3 valeurs (0,1,2).

Je cherche par le biais d'une auto-jointure à faire le ratio entre les étudiants d'un groupe ayant un statut = 0 et l'ensemble des étudiants de ce groupe.

Par exemple :
Groupe 1
-5 on le statut 0 et il y a 10 personnes dans le groupe
Donc la requête retourne 50% pour groupe 1

Pour l'instant j'en suis là :

SELECT (Count(etudiants.id) / Count(bis.id) * 100) AS Percent, bis.groupe
FROM etudiants, etudiants bis WHERE etudiants.statut=0 AND bis.id=etudiants.id
GROUP BY bis.groupe
ORDER BY Percent ASC

Elle ne marche pas évidemment, j'obtiens 100% pour chaque groupe à cause de ma relation "bis.id=etudiants.id". Mon problème est que je suis bloqué et je ne vois pas comment faire ???

Si quelqu'un pouvait m'aider...

Cordialement.

2 réponses

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
22 déc. 2008 à 22:31
Salut,
essayes cela:
SELECT (COUNT(t.status)/(SELECT COUNT(groupe) FROM etudiants WHERE groupe=t.groupe)*100) AS resultat, groupe FROM etudiants t WHERE t.status=0
GROUP BY 1,groupe
J'espère ça pourra t'aider.

@+
0
Niquel ! Çà fonctionne.

Je ne connaissais pas cette méthode, j'ai appris un peu plus du SQL ^^.
Je te remercie beaucoup !

@+
0