我有3张桌子:'牌','标签'和'卡片标签',卡片HABTM标签
问题:我会在“代码”表上执行哪些查询来计算相关“卡片”行的数量?
我正在寻找类似的东西:
tags.name | count
----------+------
cricket | 15 (15 cards are tagged as 'cricket')
soccer | 23
football | 12
答案 0 :(得分:0)
select tags.name, count(*) from tags join cardstags
on tags.id=cardstags.tag_id group by tags.name
答案 1 :(得分:0)
如果您只想要那些至少有一张卡片的标签:
select tags.name, count(cardstags.tag_id) from tags inner join cardstags on tags.id=cardstags.tag_id group by tags.id;
要包含没有卡片的标签,请使用左连接而不是内连接。