自己参照テーブルがあり、最上位の親 (親 = 0) とそれぞれに属する子の数のみを返す mysql クエリが必要です。これは私がこれまでに持っているものですが、うまくいかないことはわかっています。
SELECT id, (SELECT COUNT(id) FROM example where parent_id = id) FROM example WHERE parent_id = 0;
+--------+-----------+
| id | parent_id |
+--------+-----------+
| 1 | 0 |
| 2 | 1 |
| 3 | 1 |
| 4 | 0 |
| 5 | 4 |
+--------+-----------+