2009-09-17 66 views
1

我认为,我的问题的答案很简单,但目前我无法弄清楚。我尝试过使用DISTINCT()和COUNT(),但没有成功,尽管我知道我以前做过一次。所以:SQL查询:获取标签ID和标签发生次数

我有三个表:article,tagarticle_tag。最后一个是简单的两列,article_idtag_id构建了一个唯一的密钥。

现在我想要一个SELECT语句,它为我提供了tag_id以及它在article_tag表中显示的次数。喜欢的东西

| tag_id | count | 
+---------+---------+ 
| 1  | 14  | 
| 2  | 3  | 
| 3  | 34  | 
+---------+---------+ 

从像查询:

SELECT tag_id, COUNT(something) AS count 
    FROM article_tag 

有人能告诉我,我怎么能得到这样的结果?我想,我应该停止编码时,它趋向于0:00点钟......

回答

4
SELECT tag_id, 
     COUNT(article_id) AS article_count 
    FROM article_tags 
GROUP BY tag_id 
+1

显然你是第一个。感谢所有人的答案!正如我所说,我想我会在午夜左右停止编码。 – Boldewyn 2009-09-17 21:09:32

3

尝试:选择TAG_ID,计数(的article_id)从article_tag组由TAG_ID

3
select tag_id, count(*) from article_tag group by tag_id order by tag_id; 

你可以还有order by。要查看哪些标签有最多参考:

select tag_id, count(*) from article_tag group by tag_id order by count(*);