Mysql 如何在同一查询中使用外键计算表中的行数?

Mysql 如何在同一查询中使用外键计算表中的行数?,mysql,count,foreign-keys,Mysql,Count,Foreign Keys,假设我有一个表1,其中包含一个名为Name的字段和一个名为ItemID的字段,ItemID是表2的外键 我想要的是一个包含每个名称的查询,以及表2中有多少条目具有与该条目相同的ItemID 我该怎么做呢 select Name, count(ItemID) as itemCount from table1 inner join table2 on table1.ItemID = table2.id group by Name 但我的sql fu可能生锈了:p 请注意,如果table2不包含匹配

假设我有一个表1,其中包含一个名为Name的字段和一个名为ItemID的字段,ItemID是表2的外键

我想要的是一个包含每个名称的查询,以及表2中有多少条目具有与该条目相同的ItemID

我该怎么做呢

select Name, count(ItemID) as itemCount
from table1 inner join table2 on table1.ItemID = table2.id
group by Name
但我的sql fu可能生锈了:p


请注意,如果table2不包含匹配的行,这将不会为名称提供任何行,因此ItemCany将始终大于0

这正是我想要的,谢谢!是否有一种简单的方法可以修改以包含itemCount=0的行?您可以使用
左外部联接来代替
内部联接,这将为表1中不匹配的行提供null作为ItemID,但我认为这些null将包含在count()中,这不是您想要的。还有其他人吗?我把内部连接改为左连接,它完全按照我想要的方式工作。谢谢你!