

现在,我想要在每个有一个孩子、有两个孩子、没有孩子的lebel上显示家长id,我想这样做:如果我想搜索level1,并且孩子的数量为1,那么它应该返回level1 details,它在level2中只有一个孩子我的表名是level_count
发布于 2017-06-23 14:06:47
https://stackoverflow.com/a/44709301/8188370将表与计算父级行数的子查询联接在一起,并且只选择具有所需计数的子查询。
SELECT DISTINCT a.level1 AS Parent, a.level2 AS Child
FROM yourTable AS a
JOIN (SELECT level1, COUNT(DISTINCT level2) AS children
FROM yourTable
GROUP BY level1) AS b
ON a.level1 = b.level1
WHERE children = :child将:child替换为您尝试匹配的子代的数量。
使用COUNT(level2)而不是COUNT(*)将忽略level2为NULL的行,因此它不会包含A100。
https://stackoverflow.com/questions/44652771
复制相似问题