質問: $rp; $starter .= str_repeat('', $dp); } $starter .= ''; } echo "$starter $row[1]: $row[2] :【$row[3]】"; } echo "\n". str_repeat('', $p) ; mysql_close($link); ?> 上記の表示結果は、下記のようになります。 【表示結果】 2010年: .1. :【1】 6月: .1.2. :【1】 28日9: .1.2.3. :【1】 これを下記のような表示結果に変更する事は可能でしょうか? 2010年: .1. :【3】 6月: .1.2. :【2】 28日: .1.2.3. :【1】 やりたい事は、2010年には、それ以下に所属する合計を出したいと思いました(6月なども同様です)。 現在は、2010年そのものしか出せておりません。 pathフィールドの検索の仕方を考慮する必要があると思いましたが、どのようなsql文を書けば良いか分からなかった為、 アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。
回答: 命題がいまいちぴんとこないのですが、 単純に「自分を含む自分以下のデータの合計」ならこんな感じ select id,name,path ,(select count(*) from `sample_db` as s2 where s2.path like concat(s1.path,'%')) as count from `sample_db` as s1 これがstudentとどうからむのか仕様がはっきりしませんね