这实际上是一个几乎解决的排序问题,这要归功于我在StackOverflow上找到的其他帖子。
基本上我试图将一行排成一行,不需要在表格中间的某处插入它并将所有以下行ID更改为一个地方(将订单ID替换为之前)。 我已经在另一篇文章中找到了解决方案,例如,id已知。
1 |约翰|母鹿
2 |简|丹麦人
但是我的桌子有差距,而且往往更像是
2 |约翰|母鹿
7 |简|丹麦人
所以我真的不能依靠减去1的id并用行号7-1替换第7行。
在不知道其他ID的情况下,是否有可能以某种方式将行ID X转换为其他ID?
是否可以只使用SQL?我有一个关于它的想法,但它似乎很像修复而不是解决方案。
答案 0 :(得分:0)
这可以在SQL Server中使用,我也在MySQL中假设:
SELECT *
FROM MyTable MT
...
WHERE ID = (SELECT MAX(ID) FROM MyTable MT2 WHERE ID < MT.ID)