|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : octobre 2010 Messages : 253 ![]() |
Bonjour,
Je voudrais récupérer les derniers titres ajoutés par les 10 derniers artistes (en sachant qu'un artiste peut ajouter plusieurs oeuvres), toutes les données sont contenus dans la même table "musique". Voici la requête (non valide à cause de GROUPE BY) que j'ai fait: Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 641 ![]() |
bonjour,
La clause GROUP BY ce met après la clause WHERE. Code :
- les colonnes selectionnées sans fonction d'aggrégation doivent paraitrent dans votre clause GROUP BY (artiste_id et titre) - Si vous n'utilisez pas de fonction d'aggrégation, le GROUP BY ne sert à rien et il faut alors utiliser un DISTINCT (moins couteux) - Votre clause ORDER BY n'est pas bonne non plus car elle est illogique (vous avez un group by et vous voullez ordonner le résultat sur une colonne non aggrégée). Et pour finir, êtes vous sûre de vouloir utiliser un "distinct" ici ? avez-vous des doublons ? edit : group by : http://sqlpro.developpez.com/cours/sqlaz/ensembles/ order by : http://sqlpro.developpez.com/cours/sqlaz/select/#L2 |
||
|
|
00
|
|
|
#3 | |
![]() ![]() |
Citation:
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Développeur informatique Inscription : octobre 2006 Messages : 181 ![]() |
Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com