Requette SQL complex

Résolu
kisscool387 Messages postés 269 Statut Membre -  
kisscool387 Messages postés 269 Statut Membre -
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.

2 réponses

  1. Heremion Messages postés 564 Statut Membre 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
  2. kisscool387 Messages postés 269 Statut Membre 11
     
    Waouu !
    Merci, ça marche !
    C'est trop génial, tu m'enléve une grosse épine du pied, Merci.
    0