La requête est logique mais...

nova -  
@min@ Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Bonjour,
je suis débutante sur sql server 2005. Je travail sur une base de donné et je sélectionner les personnes par nombre décroissant de livres lus.
Voilà la requête que j'ai réalisé: select nom, prénom, count(noliv) as 'nombre de livre' from Personne p, Emprunt e where (p.nopers = e.nopers) group by e.nopers order by 'nombre de livre' desc
Je pense quelle est logique mais sql m'affiche cette erreur: "Msg 8120, Niveau 16, État 1, Ligne 1
La colonne 'personne.Nom' 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."
vous pouvez m'aidez?
merci d'avance

2 réponses

blux Messages postés 27147 Date d'inscription   Statut Modérateur Dernière intervention   3 362
 
Salut,

quand tu fais un count() avec un group by, tous les champs précédant le count doivent être dans order by...
0
@min@ Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour,
vous devez tout simplement ajouter nom et prenom pres de group by non pas près d'order by.
0