2010-09-18 39 views
0

我正在使用MySQL數據庫,並期待從我的博客捕獲頂部標籤。該表是這樣的:SQL的帖子頂部標籤

 
++++++ post_tags ++++++ 
+ id INT(10)   + 
+ post_id INT(10)  + 
+ tag_id INT(10)  + 
+++++++++++++++++++++++ 

++++++++ tags +++++++++ 
+ id VARCHAR(10)  + 
+ title VARCHAR(50) + 
+ uri VARCHAR(75)  + 
+++++++++++++++++++++++ 

我想通過分組從那麼post_tags表抓住了前5名參賽人數的POST_ID搶在數據庫中的頂部標籤。它看起來像這樣:

 
Green    157 
Water    92 
Rocks    88 
Purple    53 
Sky     44 

在此先感謝您。

回答

0
SELECT TOP 5 tags.title, COUNT(*) AS num_posts 
FROM tags 
INNER JOIN post_tags ON tags.id = post_tags.tag_id 
GROUP BY tags.title 
ORDER BY COUNT(*) DESC 

此查詢將忽略沒有帖子的標籤。如果您想要包含它們,請使用LEFT OUTER JOIN