Запрос на удаление записей при игнорировании последних записей X?

Вопрос:

Я пытаюсь выяснить запрос на удаление строк из базы данных, где мы оставляем определенный номер.

Например, если у нас есть 10 записей и мы хотим удалить все, кроме 2, как бы я это сделал?

Я думал, что могу подсчитать количество записей в таблице, а затем запустить запрос на удаление с использованием предела (Max Size – X), но я чувствую, что должен быть более эффективный способ сделать это.

Лучший ответ:

Сначала найдите запрос для строк, которые вы хотите сохранить, а затем исключите их из удаления:

DELETE FROM MyTable
WHERE ID NOT IN (SELECT ID
                 FROM MyTable
                 ORDER BY Whatever
                 LIMIT 2)

Оцените статью
TechArks.Ru
Добавить комментарий