我有一个像这样的表结构:
-----------------------------------
ID | NAME | SORTED_ID
-----------------------------------
1 | B |
2 | D |
3 | A |
4 | C |
使用单个SQL查询我希望根据排序顺序更新SORTED_ID列。
-----------------------------------
ID | NAME | SORTED_ID
-----------------------------------
1 | B | 2
2 | D | 4
3 | A | 1
4 | C | 3
我该怎么办?
答案 0 :(得分:0)
在SQLite中,这有点痛苦。以下是使用相关子查询的一种方法:
update t
set sorted_id = (select count(*)
from t t2
where t2.name <= t.name
);
注意:这对于中等桌子(超过一千行左右)来说是很昂贵的。