requête tordue

Le
deep
Bonjour à tous,
Voilà, je bute sur une requête. Je voudrais faire la chose suivante :
Eleves Notes
charles 1
eric 3
bertrand 4
henri 6
françois 7
didier 7
georges 9
antoine 10
(classement par note croissant)

si l'élève est dans la tranche <nombre d'élèves/4 je lui donne un
coefficient 1
si l'élève est dans la tranche >=nombre d'élèves/4 et <2*nombre d'élèves/4
je lui donne un coefficient 2
Bref, un coefficient pour chaque quart.

Est il possible par ex de connaitre l'index de l'élève (par ex 2 pour
bertrand) ce qui me permettrai de savoir dans quel count/4 l'élève se
trouve ?

Merci, je galère
Deep
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11341511
vous ne dites pas comment est déterminé la tranche !

Car dans votre cas vous avez 8 élèves donc 8/4 = 2

A +

deep a écrit:
Bonjour à tous,
Voilà, je bute sur une requête. Je voudrais faire la chose suivante :
Eleves Notes
charles 1
eric 3
bertrand 4
henri 6
françois 7
didier 7
georges 9
antoine 10
(classement par note croissant)

si l'élève est dans la tranche <nombre d'élèves/4 je lui donne un
coefficient 1
si l'élève est dans la tranche >=nombre d'élèves/4 et <2*nombre d'élèves/4
je lui donne un coefficient 2
Bref, un coefficient pour chaque quart.

Est il possible par ex de connaitre l'index de l'élève (par ex 2 pour
bertrand) ce qui me permettrai de savoir dans quel count/4 l'élève se
trouve ?

Merci, je galère
Deep



--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
deep
Le #11341501
Oui, c'est le nombre d'élèves / 4
Si l'élève est dans le premier 1/4 il a un
dans le 2ème, il a 2
etc...

le nombre d'élèves évolue, c'est pour cela que je ne prends pas des nombres
fixes



Fred BROUARD news::

vous ne dites pas comment est déterminé la tranche !

Car dans votre cas vous avez 8 élèves donc 8/4 = 2

A +


Fred BROUARD
Le #11341471
Le calcul de ton Coeff :
CREATE TABLE T_NOTES (Eleve varchar(8), Note int)

INSERT INTO T_NOTES VALUES ('charles', 1)
INSERT INTO T_NOTES VALUES ('eric', 3)
INSERT INTO T_NOTES VALUES ('bertrand', 4)
INSERT INTO T_NOTES VALUES ('henri', 6)
INSERT INTO T_NOTES VALUES ('françois', 7)
INSERT INTO T_NOTES VALUES ('didier', 7)
INSERT INTO T_NOTES VALUES ('georges', 9)
INSERT INTO T_NOTES VALUES ('antoine', 10)

SELECT Eleve, (SELECT COUNT(ALL Eleve) FROM T_NOTES N2 WHERE N2.Note < N1.Note)
/ ((SELECT COUNT(ALL Eleve) FROM T_NOTES) / 4) + 1 AS Coeff
FROM T_NOTES N1

Eleve Coeff
-------- -----------
charles 1
eric 1
bertrand 2
henri 2
françois 3
didier 3
georges 4
antoine 4

L'application du coeff à la note :

SELECT Eleve, Note, (SELECT COUNT(ALL Eleve) FROM T_NOTES N2 WHERE N2.Note < N1.Note)
/ ((SELECT COUNT(ALL Eleve) FROM T_NOTES) / 4) + 1 AS Coeff,
((SELECT COUNT(ALL Eleve) FROM T_NOTES N2 WHERE N2.Note < N1.Note)
/ ((SELECT COUNT(ALL Eleve) FROM T_NOTES) / 4) + 1 ) * Note as Valeur
FROM T_NOTES N1

Eleve Note Coeff Valeur
-------- ----------- ----------- -----------
charles 1 1 1
eric 3 1 3
bertrand 4 2 8
henri 6 2 12
françois 7 3 21
didier 7 3 21
georges 9 4 36
antoine 10 4 40

Après j'ai encore rien compris à ta demande !!!
Soit un peu plus clair !

A +



deep a écrit:
Bonjour à tous,
Voilà, je bute sur une requête. Je voudrais faire la chose suivante :
Eleves Notes
charles 1
eric 3
bertrand 4
henri 6
françois 7
didier 7
georges 9
antoine 10
(classement par note croissant)

si l'élève est dans la tranche <nombre d'élèves/4 je lui donne un
coefficient 1
si l'élève est dans la tranche >=nombre d'élèves/4 et <2*nombre d'élèves/4
je lui donne un coefficient 2
Bref, un coefficient pour chaque quart.

Est il possible par ex de connaitre l'index de l'élève (par ex 2 pour
bertrand) ce qui me permettrai de savoir dans quel count/4 l'élève se
trouve ?

Merci, je galère
Deep



--
Frédéric BROUARD, MVP MS SQL Server. Expert Langage SQL / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Publicité
Poster une réponse
Anonyme