Requette SQL complex

Résolu
kisscool387 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -  
kisscool387 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterai faire une requette SQL pour classer les photos d'une table par nombre de commentaire posté dessus.
Le probléme c'est que j'ai une table qui répértori (id, auteur, date, url, ...) de chaque photo, et une autre table qui répertori les commentaires avec l'id de la photo.

Alors j'ai joint les 2 tables par l'id des photos dans ma requette, mais comment associer le nombre de commentaires pour chaque photo, puis les classer par ordre des plus commenté ?

Si je fais un truc du genre :
table_photo AS P
table_commentaire AS C
ORDER BY C.count(id) LIMIT 0, 10

J'ai peur que à cette endroit de la requette, le count() ne preine pas le nombre de commentaire d'une photo, mais plutot le nombre de commentaire total sur la table ?

S'il vous plait, aidez moi. S'il y a besoins de plus d'explication, dite le moi.
A voir également:

2 réponses

Heremion Messages postés 538 Date d'inscription   Statut Membre Dernière intervention   102
 
Bonjour Kisscool387,

Je ferais un truc du genre :

SELECT 
  P.id_photo,
  P.auteur,
  P.date_ajout,
  COUNT(C.id_photo) as nb_commentaire
FROM
  PHOTO P,
  COMMENTAIRE C
WHERE
  P.id_photo = C.id_photo
GROUP BY P.id_photo, P.auteur, P.date_ajout
ORDER BY nb_commentaires DESC
3
kisscool387 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   11
 
Waouu !
Merci, ça marche !
C'est trop génial, tu m'enléve une grosse épine du pied, Merci.
0