sqlite:如何将计数器添加到现有表

时间:2016-01-25 16:55:47

标签: sqlite counter

这是一个特定于sqlite的问题。我有一个表x0,并想添加一个计数器:

mysql default port: 3306
随着?类似于:@counter:= @counter +1。

有什么想法吗?

编辑1:
我找到了一个简单的解决方案,但不是很灵活:

127.0.0.1

但这不是很灵活。例如,如果我想在这个例子中使用MySQL进行计数:count within groups

1 个答案:

答案 0 :(得分:1)

大多数表格都有rowid形式的唯一标识符,因此您只需将?替换为rowid

如果您想要连续值,或者在某个组中重新开始计数,则必须手动计算每行之前有多少行:

UPDATE x0
SET counter = (SELECT COUNT(*)
               FROM x0 AS x02
               WHERE x02.rowid <= x0.rowid
               -- AND x02.group_value = x0.group_value
              );