Как удалить либо первый, либо последний набор строк в динамическом режиме

Я хотел бы удалить первые 100 строк или последние 100 строк в определенной таблице (упорядочен по первичному ключу).

Примечание. В эту таблицу загружается большое количество данных.

Ответы

Ответ 1

DELETE FROM table ORDER BY the field DESC|ASC limit 100

Ответ 2

для первых 100,

DELETE FROM table ORDER BY <field> ASC limit 100

и за последние 100,

DELETE FROM table ORDER BY <field> DESC limit 100

Ответ 3

SET @first = 1;
delete from mytable 
where primKey in (select 1 
                  from myTable 
                  order by 
                    CASE WHEN @first = 1 THEN primKey END ASC,
                    CASE WHEN @first <> 1 THEN primKey END DESC
                  limit 100)