保留最后30个值,并删除其余的值

时间:2019-06-11 18:13:57

标签: mysql

我有一张带有时间戳的用户事务表。我现在想根据时间戳保留最后30个条目,并删除所有其余条目。

1 个答案:

答案 0 :(得分:1)

如何使用 Delete SELECT 子查询?

DELETE FROM `table` WHERE id NOT IN (SELECT id FROM (
    SELECT id FROM `table` ORDER BY timestamp DESC LIMIT 30) sort_timestamp
);

中间子查询将帮助您跳过错误

  

错误:ER_NOT_SUPPORTED_YET:此版本的MySQL尚不支持   “ LIMIT&IN / ALL / ANY / SOME子查询”