假设有以下的表:SQL语句删除比XXX较旧的记录,只要有比YY行更
pri_id
,item_id
,comment
,date
我想有一个SQL查询将删除任何记录,对于比给定日期更早的特定item_id
,但只有当该item_id
的行数超过15行时。
这将用于清除超过1年的项目的评论记录,但我仍然希望在任何给定时间保留至少15条记录。这样,如果我有10年的评论,它永远不会被删除,但如果我在过去5天有100条评论,我只会保留最新的15条记录。这个例子当然是任意记录计数和日期时间范围。
我想找到一个非常通用的方式来做到这一点,可以在mysql,oracle,postgres等工作。我使用phps adodb库进行数据库抽象,所以我希望它能很好地工作,如果可能。
对于此查询的所有未来的用户,要小心,因为这个查询将不会保留原15条记录属于这个始于15 – 2012-07-09 22:05:15