对于这种情况,如何使 MYSQL select 查询一对多?
how to make MYSQL select query for one to many for this case?
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));
}
一个人可以有 1...n child 所以它是一对多 child 。我的查询是查找人数为 child he/she 的人的姓名?
select 语句是什么
使用加入和分组依据
select person.name, count(*) as num_of_child
from person
inner join person_child on person.name = person_child.name
group by person.name;
Select p.name,count(PC.id) from person as p 内部加入 person_child as PC on p.ID=PC.ID Group通过 p.name
这样就可以了
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));
}
一个人可以有 1...n child 所以它是一对多 child 。我的查询是查找人数为 child he/she 的人的姓名? select 语句是什么
使用加入和分组依据
select person.name, count(*) as num_of_child
from person
inner join person_child on person.name = person_child.name
group by person.name;
Select p.name,count(PC.id) from person as p 内部加入 person_child as PC on p.ID=PC.ID Group通过 p.name 这样就可以了