根据共享ID选择多个单元的总数

时间:2014-09-30 01:36:18

标签: mysql sql

我有两个数据库,一个拥有姓氏,另一个拥有家庭成员。

由于可以在不相关的人之间共享单独的姓氏(姓氏),因此会为他们分配一个家庭" ID"这两个数据库共享。

familyNames : lastName  | ID

memberNames : firstName | ID

我想计算每个家庭有多少成员,输出看起来像:

Family Name | Members
----------------------
Johnson     | 14
----------------------
Brown       | 21
----------------------
White       | 33

有没有办法在不创建新列的情况下执行此操作?感谢。

(familyNames包含更多与问题无关的列,因此有两个表的原因)

2 个答案:

答案 0 :(得分:3)

select f.lastname, count(m.firstname) as cnt
from familynames f
left join membernames m on m.id = f.id
group by f.id, f.lastname  
order by f.lastname

答案 1 :(得分:2)

HERE数据库名称以表名为前缀,DB1,DB2是数据库名称。

SELECT FN.lastName as 'Family Name', COUNT(*) as Members FROM 
DB1.familyNames FN
JOIN DB2.memberNames MN
on FN.ID = MN.ID
group by FN.lastName