SQLite запрос на удаление в Android - PullRequest
1 голос
/ 19 июля 2011

Мне нужна ваша помощь, я начинаю с баз данных Android, и у меня возникла небольшая проблема / вопрос по обновлению моих таблиц (возможно, это глупый вопрос, но мне трудно):

У меня естьтаблица с информацией о видео, один из столбцов - это отметка времени для определения возраста видео.Я хотел бы удалить все строки, кроме первых 10 с более высокой отметкой времени.

, если имя таблицы - TABLE, а (важные) строки - KEY_ID и KEY_TIMESTAMP:

.запрос1:

SELECT KEY_ID FROM TABLE ORDER BY KEY_TIMESTAMP ASC LIMIT (## dont know what to put here ##)

с запросом

DELETE FROM TABLE WHERE KEY_ID = query1

в коде Android SQLite?что я должен поставить между ## ##

1 Ответ

2 голосов
/ 19 июля 2011

Попробуйте использовать DELETE FROM с вложенным SELECT.

Не тестировалось:

DELETE 
FROM TABLE
WHERE KEY_ID NOT IN
(
    SELECT TOP 10 KEY_ID 
        FROM TABLE 
        ORDER BY KEY_TIMESTAMP ASC
        LIMIT 10
)
...