-3

これはphp側で解決できますが、使用するクエリは1つだけです。

カテゴリを表すこの行があり、そこに順序とサブカテゴリの経路がリストされています。

id 注文経路
  1 7 1
  2 5 2
  3 9 2/3
  4 0 4
  5 3 2/3/5

そのデータから、それらを注文番号で一次ソートし、次にそのカテゴリ内のサブカテゴリをリストする経路をソートする必要があります。

id 注文経路
  4 0 4
  2 5 2
  3 9 2/3  
  5 3 2/3/5
  1 7 1

更新: 順序による単純な並べ替え、この場合、経路は機能しません。

出力する必要がある最初の行は ID:4 です。これは、順序番号が最も小さいためです。次に、ID:5 を除外すると、順序番号が 2 番目に小さいため、ID:2 です。カテゴリ 3 はカテゴリ 2 の内側にあるためです。

また、カテゴリレベルを表す列(メインカテゴリまたはカテゴリ内のカテゴリであり、深いカテゴリ)とカテゴリparent_idの列もあります

4

1 に答える 1

3
SELECT * FROM yourtable ORDER BY order, pathway
于 2013-09-10T13:02:09.527 に答える