我有两张表如下:
tags: id, version, name
tag_links: id, version, tag_id (foreign key to tags.id)
我需要编写一个SQL语句,它返回tag_links表中每个tag_id出现的次数。
例如:
tags:
id version name
-- ------- ------
1 1 sport
2 1 comedy
tag_links:
id version tag_id
-- ------- ------
1 1 1
2 1 1
3 1 1
4 1 2
5 1 2
我需要的结果是:
tag_id times_occurred
------ --------------
1 3
2 2
我对SQL有一点了解,我试着写它但是:(
谢谢。
答案 0 :(得分:8)
您甚至不需要为此表连接表,因为您想要的所有信息都在tag_links表中。
select tag_id, count(*) as times_occurred
from tag_links
group by tag_id;
如果您想要标记 names ,则需要加入表格,但这似乎并非如此。
答案 1 :(得分:3)
SELECT tag_id, COUNT(*) AS times_occurred
FROM tag_links
GROUP BY tag_id
答案 2 :(得分:0)
select id,count(*) from tags inner join tag_links on tags.tag_id = tag_links.tag_id
group by id
答案 3 :(得分:0)
SELECT tag_id,
Count(*) As times_occurred
FROM tag_links
GROUP BY tag_id