我有一张table
agent_audit_log(id, agent_id, api/text, at/timestamp)
目前,我的家政服务
DELETE FROM agent_audit_log WHERE at < NOW() - INTERVAL '60 days';
而不是上面的内容,我想删除“each”agent_id最新记录超过100条的所有审计日志。我只查到这一点
DELETE FROM agent_audit_log WHERE id NOT IN (SELECT id FROM agent_audit_log ORDER BY at DESC LIMIT 100);
但这需要每一个代理人发生。
1条答案
按热度按时间e5njpo681#
问题将是选择正确的id,但您可以使用
| id|代理ID| API|在|
| - -----|- -----|- -----|- -----|
| 1| 1|一个|2023-06-16 22:11:16.919099|
| 3| 2|一个|2023-06-16 22:11:16.919099|
| id|代理ID| API|在|
| - -----|- -----|- -----|- -----|
| 1| 1|一个|2023-06-16 22:11:16.919099|
| 3| 2|一个|2023-06-16 22:11:16.919099|
fiddle