Sqlite根据前一行的值递增列值

时间:2014-05-23 16:25:21

标签: sqlite

如何根据Sqlite中的上一个列值增加列值?我需要为1000多行做这个。我在第一行有数据说100.我需要将接下来的1000行增加2。

Row#  ColName
1       100
2       102
3       104
4       106

我试过这样的事情: 更新表SET ColName =(从表中选择最大值(ColName))+ 2但是这会在所有列中放置102。

1 个答案:

答案 0 :(得分:1)

假设此表格有rowid column,则可以计算以前的行数:

UPDATE MyTable
SET ColName = (SELECT MAX(ColName)
               FROM MyTable
              ) +
              (SELECT COUNT(*)
               FROM MyTable AS Previous
               WHERE Previous.rowid < MyTable.rowid
              ) * 2
WHERE ColName IS NULL