我有一个包含新闻故事和Unix时间戳的SQL表.我只想保留50个最新的故事.如何编写SQL语句来删除任何数量的旧故事?
大段引用
delete from table where id not in ( select id from table order by id desc limit 50 )
您选择了不想删除的数据的ID,并删除了这些值中的所有内容...
我最终使用了两个查询,因为MySQL5还没有在子查询中支持LIMIT
SELECT unixTime FROM entries ORDER BY unixTime DESC LIMIT 49, 1; DELETE FROM entries WHERE unixTime < $sqlResult;