2011-10-22 2 views
0

J'ai deux tables en tant que messages et commentaires. Chaque ligne dans la table des commentaires a l'identifiant du message auquel elle appartient. Comment puis-je sélectionner, par exemple, la plupart des dix messages commentés?Requête SQL pour l'organisation d'un objet associé

+0

cette requête est très facile. Avez-vous essayé quelque chose? Ne demandez pas de coder pour vous, c'est très basique SQL. –

Répondre

1

Essayez cette

SELECT p.id, COUNT(c.id) tot 
FROM posts p INNER JOIN comments c 
ON p.id = c.post_id 
GROUP BY p.id 
ORDER BY tot DESC 
LIMIT 10 
+0

qu'est-ce que c'est ??? 'LIMIT' est d'abord !!!! – diEcho

+1

@diEcho: oh, ma faute ... j'ai eu une mauvaise journée et je n'ai pas remarqué ça ... oui, vous avez absolument raison, "LIMIT" va à la fin !! Merci beaucoup – Marco

-1

vous pouvez utiliser par groupe pour cette une requête comme

SELECT posts, count(comment) as total 
from comments group by (post) order by total; 
+0

Je pense qu'il vous manque relation entre les tables et que vous sélectionnez des commentaires, pas la plupart des commentaires. Finalement, vous n'obtiendrez pas le top dix. – Marco

Questions connexes