PostgreSQL 14中如何基于分组查询执行删除操作?
如何基于分组查询执行删除操作?
可以通过子查询结合分组聚合函数的方式,实现按分组条件保留特定记录、删除其余记录的需求。以下是具体示例:
Delete From syscount Where pid < (Select Max(pid) From syscount Group By count_type, iccid)
这条DELETE语句的作用是:删除所有pid值小于其所属count_type和iccid分组中当前最大pid值的记录——也就是每个count_type+iccid的分组里,仅保留pid最大的那条记录,其余同组记录都会被删除。
内容的提问来源于stack exchange,提问作者Don2
相关产品推荐
相关产品推荐

