0

我有一个具有树结构的表,包含 lvl、lft 和 rgt 列。最初我有一个扁平的树,SELECT * FROM tree_table ORDER BY lft ASC让它按树中的位置排序。但是现在我有sort列来对节点进行排序。我怎样才能让树按它在树中的位置和它的重量同时排序?我认为使用 MySQL 查询是不可能的,但是我如何使用 PHP 来获得它?

表数据示例按顺序排列lft

id | lft | rgt | level | sort
1 | 1 | 628 | 1 | 0
2 | 2 | 281 | 2 | 3
3 | 3 | 128 | 3 | 0
4 | 4 | 15 | 4 | 1
5 | 16 | 27 | 4 | 5
....

没有sort列我以相同的顺序显示行,但现在我想得到这个:

id | lft | rgt | level | sort
1 | 1 | 628 | 1 | 0
2 | 2 | 281 | 2 | 3
3 | 3 | 128 | 3 | 0
5 | 16 | 27 | 4 | 5
4 | 4 | 15 | 4 | 1
....
4

1 回答 1

0

好吧,根据您的示例,您可以通过以下方式获得所需的结果:

SELECT * FROM tree_table ORDER BY level, Sort DESC

但我可能有点误解你的问题。

于 2013-02-21T19:27:43.327 回答