我有这样的表:
CREATE TABLE Scan
(Id Integer,
Ordinal Integer)
INSERT Scan VALUES(10, 1)
INSERT Scan VALUES(20, 1)
INSERT Scan VALUES(30, 8)
INSERT Scan VALUES(40, 10)
我想更新Ordinal列,以便所有数字都这样变成连续的(如果按ID重复Ordinal顺序):
Id Ordinal
10 1
20 2
30 3
40 4
在SQLite中使用普通SQL是否可能?
最佳答案
SQLite确实没有做到这一点的好方法。这是一种效率不高的方法:
update scan
set ordinal = (select count(*)
from scan s2
where s2.ordinal < scan.ordinal or
s2.ordinal = scan.ordinal and s2.id <= scan.id
);
关于sql - SQLite-将表更新为顺序编号行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40052029/