Вопрос:
Это конкретный вопрос 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 );