Mysql 查询以查找与多人有子女的所有人
我需要找到所有与不止一个人有过孩子的人的名单。我使用的是一个有人名、人名的表。这个人的ID也可以作为他们的母亲ID和父亲IDMysql 查询以查找与多人有子女的所有人,mysql,sql,subquery,Mysql,Sql,Subquery,我需要找到所有与不止一个人有过孩子的人的名单。我使用的是一个有人名、人名的表。这个人的ID也可以作为他们的母亲ID和父亲ID 在上面的例子中,我想找到保罗,他有四个孩子,两个不同的人,黛比和杰西。你可以使用COUNT(DISTINCT col)>1: SELECT * FROM table WHERE Id IN ( SELECT Father_Id FROM table GROUP BY Father_Id HAVING COUNT(DISTINCT Moth
在上面的例子中,我想找到保罗,他有四个孩子,两个不同的人,黛比和杰西。你可以使用
COUNT(DISTINCT col)>1
:
SELECT *
FROM table
WHERE Id IN (
SELECT Father_Id
FROM table
GROUP BY Father_Id
HAVING COUNT(DISTINCT Mother_id) > 1
UNION ALL
SELECT Mother_Id
FROM table
GROUP BY Mother_Id
HAVING COUNT(DISTINCT Father_Id) > 1
);
试试这个:
select * from
your_table a where
(select count(distinct father_id, mother_id)
from your_table b where b.father_id=a.id or b.mother_id=a.id)>1;
请参阅。COUNT(不同的col1和col2)的良好用法。:)我将在中进行交换。
select * from
your_table a where
(select count(distinct father_id, mother_id)
from your_table b where b.father_id=a.id or b.mother_id=a.id)>1;