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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred BROUARD
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 *************************
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 *************************
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
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 wrote in 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 +
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 <brouardf@club-internet.fr> wrote in
news:uvpMjDnMEHA.3016@tk2msftngp13.phx.gbl:
vous ne dites pas comment est déterminé la tranche !
Car dans votre cas vous avez 8 élèves donc 8/4 = 2
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 wrote in 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 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 *************************
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 *************************
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 *************************