假设一个包含以下列的表:
pri_id
, item_id
, comment
,date
我想要的是一个 SQL 查询,它将删除任何记录,对于item_id
比给定日期更早的特定记录,但只要有超过 15 行item_id
。
这将用于清除项目超过 1 年的评论记录,但我仍希望在任何给定时间保留至少 15 条记录。这样,如果我在 10 年内有一条评论,它永远不会被删除,但如果我在过去 5 天内有 100 条评论,我只会保留最新的 15 条记录。对于此示例,这些当然是任意的记录计数和日期时间范围。
我想找到一种非常通用的方法,可以在 mysql、oracle、postgres 等中使用。我正在使用 phps adodb 库进行 DB 抽象,所以如果可能的话,我希望它能够很好地工作。