Bonjour je travaille actuellement sur une base SQL Server et rencontre
certain problème avec les fonctions d'agrégation et de regroupement:
ça n'agregue et ne regroupe rien du tout !! :-)
Démonstration sur une table toute simple:
Je lance le regroupement et cherche à obtenir la somme des montants /
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 create table VOITURE ( id int, marque varchar(20), Montant int ) select * from voiture id | Marque | Montant ------------------------------------- 1 | Renault | 6600 2 | Peugeot | 7300 3 | Lada | 500 4 | Mercedes | 10000 6 | Mercedes | 12000 7 | Renault | 6500 8 | Peugeot | 7500
marque de voiture :
Et là SQL Server me retourne l'erreure suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select id, marque, SUM(montant) from voiture group by marque
Je n'ai jamais compris pourquoi (si quelqu'un peux m'expliquer au
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Serveur : Msg 8120, Niveau 16, État 1, Ligne 23 La colonne 'voiture.id n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY.
passage je lui dit un grand merci) on doit retrouver dans la clause
GROUP BY les champs
contenus dans la clause SELECT ... enfin on écoute le server et on
recommence :
Bref aucun effet ... MAX et Min ne fonctionne pas non plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 select id, marque, SUM(montant) from voiture group by marque, id 1 | Renault | 6600 2 | Peugeot | 7300 3 | Lada | 500 4 | Mercedes | 10000 6 | Mercedes | 12000 7 | Renault | 6500 8 | Peugeot | 7500
J'ai grand besoin d'aide ...
En vous remerciant,
Partager