我有这张桌子:
| Column | Type |
+---------------+--------------------------------+
| id | integer |
| recipient_id | integer |
| is_read | boolean |
| updated_at | timestamp(0) without time zone |
我必须使用以下特定规则从该表中删除项目:
- 对于每个
recipient_id
,我们保留最后阅读的 5 个项目,并删除旧的阅读项目。
我试图用RECURSIVE WITH
陈述来改变我的想法,但惨遭失败。我已经以编程方式实现了我的解决方案,但我想知道是否有一个像样的纯 SQL 解决方案。