MySql查询子级别的子级别分组

时间:2017-06-20 12:14:18

标签: mysql

Here is my 2nd Example Table

This is Another Example table

现在我想在每个有一个孩子并且有两个孩子而且没有孩子的lebel上显示父ID,我希望这样做等级愿望 就像我想要搜索level1而没有孩子是1那么它应该返回 level1详细信息,其中level2中只有一个子级 我的表名是level_count

1 个答案:

答案 0 :(得分:0)

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替换为您要匹配的子女数。

DEMO

使用COUNT(level2)代替COUNT(*)会忽略level2NULL的行,因此不会包含A100