Únase a la tabla con una subconsulta que cuente el número de filas para el padre y seleccione solo las que tengan el número que desee.
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
Reemplazar :child
con el número de niños que está tratando de emparejar.
Usando COUNT(Column2)
en lugar de COUNT(*)
ignorará las filas donde Column2
es NULL
, por lo que no incluirá A100
.