MySQL-当总和小于x时选择
我有一个数据库中引用的缓存文件列表,希望清除大小限制(比如20000000)之外的最旧文件 表简单地如下所示:MySQL-当总和小于x时选择,mysql,Mysql,我有一个数据库中引用的缓存文件列表,希望清除大小限制(比如20000000)之外的最旧文件 表简单地如下所示: [ hash | filesize | timestamp ] 目前正在运行以下命令 SELECT `hash`, `filesize` FROM `cachetable` ORDER BY `timestamp` DESC; 然后从外部处理结果。有没有办法只获取一个超出20000000限制的结果列表?我会使用表上的,和SUM函数来查看它何时超过阈值大小,比如大小(在您的情况下为2
[ hash | filesize | timestamp ]
目前正在运行以下命令
SELECT `hash`, `filesize` FROM `cachetable` ORDER BY `timestamp` DESC;
然后从外部处理结果。有没有办法只获取一个超出20000000限制的结果列表?我会使用表上的,和SUM
函数来查看它何时超过阈值大小,比如大小(在您的情况下为20000000)
SELECT `hash`, `filesize`
FROM `cachetable`
ORDER BY `timestamp` DESC
LIMIT NUMBER_ROWS_TO_DELETE /* any large number to delete all after THRESHOLD */
OFFSET THRESHOLD;
我会用偏移量
SELECT `hash`, `filesize`
FROM `cachetable`
ORDER BY `timestamp` DESC
LIMIT <your_limit_here>
OFFSET 20000000;
选择“散列”、“文件大小”
从'cachetable'开始
按`时间戳`描述订购
极限
抵销20000000;
请务必用您自己可接受的数字替换您的限制。嘿,干杯,问题是虽然每个文件的大小不同,但我不想保留20000000个文件,而是要保留多少个文件,总大小是多少?如果总和(文件大小)<20000,您只想保留X个文件?