MySql查询childrenwish父分组的分层编号

MySql查询childrenwish父分组的分层编号,mysql,Mysql,现在,我想在每个有一个孩子、有两个孩子和没有孩子的lebel上显示家长id,我希望这样做 比如,如果我想要搜索level1,并且没有子对象是1,那么它应该返回 级别1详细信息,在级别2中只有一个子级 我的表名是level_count 使用子查询连接表,该子查询计算父级的行数,并仅选择具有所需计数的行 SELECT DISTINCT a.level1 AS Parent, a.level2 AS Child FROM yourTable AS a JOIN (SELECT level1, COUN

现在,我想在每个有一个孩子、有两个孩子和没有孩子的lebel上显示家长id,我希望这样做 比如,如果我想要搜索level1,并且没有子对象是1,那么它应该返回 级别1详细信息,在级别2中只有一个子级 我的表名是level_count

使用子查询连接表,该子查询计算父级的行数,并仅选择具有所需计数的行

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

什么是父级和子级?请查看我的表,在每个级别中都有一些数据,谁是下一级别的父级。。。比如,在1级中拥有的人是2级的家长,而在2级中拥有的人是3级ans的家长,依此类推……直到9级