这是一个特定于sqlite的问题。我有一个表x0,并想添加一个计数器:
mysql default port: 3306
随着?类似于:@counter:= @counter +1。
有什么想法吗?
编辑1:
我找到了一个简单的解决方案,但不是很灵活:
127.0.0.1
但这不是很灵活。例如,如果我想在这个例子中使用MySQL进行计数:count within groups。
答案 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
);