对于这种情况,如何使MYSQL选择查询一对多?

时间:2016-07-23 18:57:08

标签: mysql one-to-many

create table person {
  id int,
  name char(10),
  primary key(id),
}


create table person_child {
  id int,
  name char(10),
  primary key(id),
  foreign key(id) references person(id));
}

一个人可以有一个孩子,所以这是一个孩子。我的查询是找到他/她有孩子数的人的姓名? 什么是选择陈述

2 个答案:

答案 0 :(得分:2)

使用加入和分组

select person.name, count(*) as num_of_child
from person 
inner join person_child on person.name = person_child.name
group by person.name;

答案 1 :(得分:1)

选择p.name,count(PC.id)作为p内连接person_child作为PC on p.ID = PC.ID Group by p.name 这样就可以了