• 締切済み

紐づいた個数を取得したい

以下のようなテーブルがあった場合、PARENT が 0 のものを抜き出して、且つそれに紐づいてるカラムの個数を取得したいのですが、どのようにしたらいいでしょうか? +---+----+--------+ + ID | XXX | PARENT | +---+----+--------+ + 1 | *** | 0 | +---+----+--------+ + 2 | *** | 1 | +---+----+--------+ + 3 | *** | 4 | +---+----+--------+ + 4 | *** | 0 | +---+----+--------+ + 5 | *** | 1 | +---+----+--------+ + 6 | *** | 0 | +---+----+--------+ + 7 | *** | 4 | +---+----+--------+ + 8 | *** | 4 | +---+----+--------+ *PARENT には、ID に紐づいた値が入ります 出力例 +---+----+--------+ + ID | XXX | COUNT | +---+----+--------+ + 1 | *** | 2 | +---+----+--------+ + 4 | *** | 3 | +---+----+--------+

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

あ、XXXの表示も含めるとこんなかんじ select PARENT ,(select XXX from hoge as t2 where t1.PARENT=t2.ID) as XXX ,COUNT(*) as COUNT from hoge as t1 where PARENT!=0 group by PARENT

yuu_x
質問者

補足

SELECT t1.`ID` ,`XXX` , `t2`.`COUNT` FROM `hoge` AS `t1` LEFT OUTER JOIN ( SELECT COUNT(`ID`) AS `COUNT` , `PARENT` FROM `hoge` WHERE `PARENT`!=0 GROUP BY PARENT ) AS t2 ON t2.PARENT = t1.ID WHERE t1.`PARENT` = 0 で出来ました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

IDでくくろうとするから変なのでPARENTでまとめれば済む話では? select PARENT,COUNT(*) as COUNT from hoge where PARENT!=0 group by PARENT

関連するQ&A