我有数据库中引用的缓存文件列表,并且想要清除超出大小限制(例如 20,000,000)的最旧文件。
表格简单地看起来像这样:
[ hash | filesize | timestamp ]
目前只需运行以下命令,
SELECT `hash`, `filesize` FROM `cachetable` ORDER BY `timestamp` DESC;
然后在外部处理结果。有没有办法只获取 20,000,000 限制之外的结果列表?
最佳答案
我会使用 OFFSET
SELECT `hash`, `filesize`
FROM `cachetable`
ORDER BY `timestamp` DESC
LIMIT <your_limit_here>
OFFSET 20000000;
请务必将此处的 your_limit_替换为您自己可接受的数字。
关于MySQL - 当总和小于 x 时选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15472396/