id/parent_id で並べ替えられた隣接リストがある場合、親のすべての子を 3 番目のテキスト フィールド (「名前」など) でアルファベット順に並べ替える簡単な方法はありますか?
http://explainextended.com/2009/03/17/hierarchical-queries-in-mysql/で提供されている情報を使用して、MySQL に並べ替えられた隣接リストを返させました。理想的には、これにより 3 番目の列で子を並べ替えることができますが、その例ではテスト データ セットに余分な列はまったく含まれていません。
クエリを実行すると、データは次のようになりますが、子孫でアルファベット順に並べ替える必要があります。
$myArr[] = array(1,0,"instruments");
$myArr[] = array(2,1,"electric");
$myArr[] = array(3,1,"acoustic");
$myArr[] = array(4,2,"guitar");
$myArr[] = array(5,2,"banjo");
$myArr[] = array(6,3,"guitar");
$myArr[] = array(5,3,"banjo");
または:
array (
0 =>
array (
0 => 1,
1 => 0,
2 => 'instruments',
),
1 =>
array (
0 => 2,
1 => 1,
2 => 'electric',
),
2 =>
array (
0 => 3,
1 => 1,
2 => 'acoustic',
),
3 =>
array (
0 => 4,
1 => 2,
2 => 'guitar',
),
4 =>
array (
0 => 5,
1 => 2,
2 => 'banjo',
),
5 =>
array (
0 => 6,
1 => 3,
2 => 'guitar',
),
6 =>
array (
0 => 5,
1 => 3,
2 => 'banjo',
),
)
これを次のようにソートする必要があります。
instruments
acoustic
banjo
guitar
electric
banjo
guitar
ありがとう!