親の行数をカウントするサブクエリを使用してテーブルを結合し、必要な数の行のみを選択します。
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(Column2)
を使用する COUNT(*)
の代わりに Column2
の行は無視されます NULL
です 、したがってA100
は含まれません 。