2013-10-16 34 views
-2

我正在查询查询以获取表格中排名前10位的数据。 我的表:Mysql如何按出现次数选择数据顺序

id | art_id | tag_id 

我想有最多被叫TAG_ID(实施例的顶部10:150 TAG_ID “25”,然后146 TAG_ID “36”,然后132 TAG_ID “76” ..... ) 我真的不知道怎么去说......和结束时,加入到从其他表有标记的名称:

tag_id | tag_name 

任何想法吗? 感谢

回答

-1
SELECT 
    m.tag_id, o.tag_name, COUNT(m.tag_id) FROM mytable m 
INNER JOIN 
    myothertable o ON o.tag_id = m.tag_id 
GROUP BY 
    m.tag_id 
ORDER BY 
    COUNT(m.tag_id) DESC 
LIMIT 10 
+0

不起作用...但是你在查询中使用2代表的列名... – user2670167

+0

好吧,发现根据你的一个很好的查询! 'SELECT s.tag_id,COUNT(s.tag_id),t.tag \t \t \t \t \t \t FROM stories_tags小号 \t \t \t \t \t \t加入标签吨上t.id = s.tag_id \t \t \t \t \t \t GROUP BY s.tag_id \t \t \t \t \t \t ORDER BY COUNT(s.tag_id)DESC \t \t \t \t \t \t LIMIT 10' – user2670167

+0

@ user2670167哦,那些是两张表吗?试试看 - 显然使用正确的表名。 –