Bonjour.
J'ai vraiment du mal avec le concept de regroupement ... Ce que j'eassaye de faire ne me semble pas compliqué et pourtant cela ne fonctionne pas.
J'ai une table Eleve(nom, note, trimestre, periode). Donc lorsque j'execute un "SELECT * d'une_vue" j'obtiens quelque chose comme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
AA  | 13 | trim1 | per11
AA  | 10 | trim1 | per12
AA  | 15 | trim2 | per21
AB  | 9  | trim1 | per11
AB  | 17 | trim1 | per12
AB  | 18 | trim2 | per21
BB  | 2  | trim1 | per11
BB  | 8  | trim1 | per12
BB  | 9  | trim2 | per21
Voyez ... rien de transcandant
Devinez ce que je voudrais faire ? Avoir le max des notes de chaque nom, pour chaque trimestre avec la periode associé ! Bravo \o/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
AA  | 13 | trim1 | per11
AA  | 15 | trim2 | per21
AB  | 17 | trim1 | per12
AB  | 18 | trim2 | per21
BB  | 8  | trim1 | per12
BB  | 9  | trim2 | per21
mais j'obtiens plutot
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
AA  | 13 | trim1 | per11
AA  | 15 | trim2 | per21
AB  | 17 | trim1 | per11
AB  | 18 | trim2 | per21
BB  | 8  | trim1 | per11
BB  | 9  | trim2 | per21
Vous voyez il ne garde pas la bonne periode, garde la "1ere" a chaque fois.
voici ce que je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT nom, max(note) as Mnote, trimestre, periode
FROM Eleve
GROUP BY nom, trimestre
Est ce grave docteur ?