如何找到一个不仅是独生子女而且是唯一表妹的模特?

Posted

技术标签:

【中文标题】如何找到一个不仅是独生子女而且是唯一表妹的模特?【英文标题】:How does one find a model who is not only the only-child but only-cousin? 【发布时间】:2021-12-25 12:20:42 【问题描述】:

我有一个祖父母 -> 父母 -> 不同模型的子关系。

我正在尝试编写一条 SQL 语句来返回所有作为其父母和同一祖父母的任何其他父母的唯一孩子的孩子。

我能得到的最接近的是以下查询,它不起作用但可能有助于澄清我的目的:

 SELECT 
   COUNT(*) AS count_all, 
   grandparents.id AS grandparents_id 
FROM `childs` 
INNER JOIN `grandparents` ON `grandparents`.`id` = `childs`.`grandparents_id` 
INNER JOIN `parents` ON `parents`.`id` = `childs`.`parents_id` 
GROUP BY grandparents.id 
HAVING (count("parents.id") > 1)

但不幸的是,这个查询只获取了一些正确的响应(在我的情况下为 1),而不是全部。知道如何正确执行此查询吗?

【问题讨论】:

请添加几行示例数据。我不是 100% 清楚您使用的数据结构是什么样的。 【参考方案1】:

我认为您可以像这样使用子表来做到这一点:

select c.*
from childs c
join (
    select grandparents_id 
    from childs
    group by grandparents_id
    having count(*) = 1
) t on t.grandparents_id = c.grandparents_id

顺便说一句,child 的复数形式是 children 而不是 childs。 编辑:您当前的表格布局不允许孩子拥有超过一位父母和一位祖父母。

【讨论】:

以上是关于如何找到一个不仅是独生子女而且是唯一表妹的模特?的主要内容,如果未能解决你的问题,请参考以下文章

我辅导表妹学算法……

什么?身为字节跳动测试工程师的表妹上班也“偷懒”?我用小本本偷偷的记下了她的这些“小妙招”

如何快速生成一个数独

使用独生子女时如何避免悬停样式

请问如何随机生成数独数据

如何将对象的唯一副本存储在列表中,在这种情况下是一个半解决的数独单元格的锯齿状数组