2011-03-26 63 views
0

我有一個佈局如下表:SQL計數不同?

id - tag_id - post_id 
1 - 1 - 3 
2 - 1 - 6 
3 - 1 - 2 
4 - 2 - 3 
5 - 2 - 9 
6 - 1 - 7 

我想編寫發現標籤被多少次引用的MySQL的聲明。

我會然後使用PHP格式化結果。 tag # was referenced # times,它們將按照# times的順序排列。

我對MySQL的能力限於非常基本的SELECT,INSERT,UPDATE和DELETE語句,所以我不確定如何去做這件事。你能幫我嗎?

回答

4
select tag_id, count(*) 
from mytable 
group by tag_id 
order by count(*) desc 

這將按count(*)以降序排列您的結果,這意味着大多數帖子的標籤將出現在頂行。

2

SELECT tag_id, COUNT(*) FROM table GROUP BY tag_id會給你每個標籤的ID

1

要獲得標籤和職位數的計數每個標籤都有,按降序排列,您可以使用下面的查詢:

select tag_id, count(*) as num 
from your_table 
group by tag_id 
order by count(*) desc 

(當然,如果你想同樣的數據,但按升序排序,只是刪除descorder by子句中)