【发布时间】:2017-01-06 15:35:11
【问题描述】:
我有一张这样的桌子:
CREATE TABLE rows(
UniqueID VARCHAR(225),
Previous VARCHAR(225),
Next VARCHAR(225)
);
内容如下:
+----------+-----------+-----------+
| UniqueID | Previous | Next |
+----------+-----------+-----------+
| 676 | undefined | 219 |
| 890 | 219 | undefined |
| 219 | 676 | 890 |
+----------+-----------+-----------+
如您所见,行具有 UID,Previous 和 Next 列引用。
我现在想要的是编写一个 SELECT * 语句,它将按 Previous 和 Next 字段对所有结果进行排序。 undefined 值标记结束元素。我怎么能做到这一点?在上面显示的表格的情况下,我想要的顺序是那里显示的,最后 2 行位置交换,所以 X 行的 Next 指向 Y 行的 UID,它有一个 Previous指向 X 行的 UID。等
【问题讨论】:
-
请添加预期结果
-
order by previous, next? -
未定义的元素如何排序?
-
juergend 在 OP 中解释了更多内容。 jens,基于值大小的排序,所以 1; 2; 3等,这里不是这种情况。 tim-biegeleisen 没有Previous 的是第一个元素,没有Next 的是最后一个。
标签: mysql