我想要完全实现此question中给出的内容,但是在SQlite3中不支持LEAD和LAG函数。
我想填充现有表格的一列,其中包含另一列的值但偏移一行
我已经搜索了很长一段时间,但我找不到合适的替代方案。
假设有100行数据,并且已经创建了新列(并且充满了垃圾值),以下代码对我来说根本不会产生任何结果。值保持为垃圾(未更改)。
我管理这个兔子洞的最多的就是:
for i in range(1, 99):
cur.execute('''UPDATE myTable
SET a = (SELECT
CASE WHEN id > 1
THEN b
ELSE 0
END
AS b
FROM myTable
WHERE id = %d)
''' % i)
根据我对上述的理解,
1.如果id< 1,a = 0
2. IF id> 1,a = b,其中id = i,i落后于1.
我只是在寻找正确方向的推动,上面的代码是输入的,可能在语法上不正确。
我目前正在使用Django上的SQlite3服务器,它将解释python的用法。
任何帮助将不胜感激。