我有一个树结构的表,有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
....
答案 0 :(得分:0)
嗯,根据你的例子,你可以得到你想要的结果:
SELECT * FROM tree_table ORDER BY level, Sort DESC
但我可能会误解你的问题。