Это конкретный вопрос sqlite. У меня есть таблица x0 и вы хотите добавить счетчик:
ALTER TABLE x0 ADD counter INTEGER;
UPDATE x0 SET counter = ?
С? что-то вроде: @counter: = @counter +1.
Есть идеи?
Изменить 1:
Я нашел простое решение, но не очень гибкое:
UPDATE x0 SET counter = ROWID;
Но это не очень гибко. Например, если я хочу рассчитывать внутри групп, как в этом примере, с MySQL: count внутри групп.
В большинстве таблиц уже есть уникальный идентификатор в форме rowid, поэтому вы можете просто заменить его ?
с rowid
.
Если вы хотите иметь последовательные значения или перезапускать подсчет в некоторой группе, вам нужно вручную подсчитать, сколько других строк перед каждой строкой:
UPDATE x0
SET counter = (SELECT COUNT(*)
FROM x0 AS x02
WHERE x02.rowid <= x0.rowid
-- AND x02.group_value = x0.group_value
);