我正在尝试将以下 SQL 查询转换为 ActiveRecord,它正在融化我的大脑。
delete from table where id <= (
select max(id) from (
select id from table order by id limit 0, 10));
有任何想法吗?
我想要做的是限制表中的行数。所以,我想删除少于最近 10 个条目的任何内容。
编辑:通过结合以下几个答案找到了解决方案。
Temperature.where('id < ?', Temperature.order('id DESC').limit(10).pluck(:id).min).destroy_all
这给我留下了最新的 10 个条目。