0
我想确定是否有一种方法来排序由开始/结束列组成的MySQL表的行。 (也可以认为是父/子关系或其他链接列表排列)排序/排序MySQL中的数据对?
这里的数据当前存储的例子:
id start finish
2 stepthree stepfour
6 stepfive stepsix
9 stepone steptwo
78 stepfour stepfive
121 steptwo stepthree
(此ID号是不相关的,只是使用它们来指示任意数据的附加列)
我想排序/显示这些行的顺序,假设我总是以“stepone”开始,遍历开始 - >完成链,每个“完成”随后是该行作为“开始”。
desired output
9 stepone steptwo
121 steptwo stepthree
2 stepthree stepfour
78 stepfour stepfive
6 stepfive stepsix
通常不应有任何分支/分裂,只是一系列连续的步骤或状态。我不能使用简单的alpha排序(在我的情况下,开始和结束值是由客户创建的代码),但无法找出任何其他方式使用SQL来排序。我可以使用大多数语言以编程方式执行此操作,但难以仅使用SQL进行操作。
任何聪明的想法?
是的,尽管如此,我仍然需要2个表来维护(并小心地保持同步),但实际上只有其中一个表需要保留步骤顺序。如果有人在某个地方增加了额外的步骤,我还必须记得使用相同的信息更新该次表。我希望找到一种通过遍历一个原始表来获得排序顺序的方法。 – user3357493