您现在的位置是:课程教程文章
postgresql表如何去重
2023-12-18 19:14课程教程文章 人已围观
5小时快速精通PostgreSQL
5小时快速精通PostgreSQL...腾讯云数据库PostgreSQL功能与特性
腾讯云数据库PostgreSQL功能与特性【适用对象】 所有人,所有使用腾讯云数据库PostgreSQL的用户 【课程大纲】 一...中国PostgreSQL认证考试中心认证初级(PC
中国PostgreSQL认证考试中心认证初级(PC为响应国家大数据战略发展的号召,进一步推动PostgreSQL开源数据库在国内的快...PostgreSQL数据库管理(三)
PostgreSQL数据库管理(三)PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为Postgre...
去重的方法一般是找到重复数据中的一条,以某一唯一条件去掉其他重复值。PostgreSQL 库如何去除单表重复数据呢?可以通过 ctid 进行,下面我们就来看一下PostgreSQL去重的方法。
一、创建测试表
david=# create table emp ( david(# id int, david(# name varchar); CREATE TABLE david=#
二、插入测试数据
david=# insert into emp values (1, 'david'); INSERT 0 1 david=# insert into emp values (1, 'david'); INSERT 0 1 david=# insert into emp values (1, 'david'); INSERT 0 1 david=# insert into emp values (2, 'sandy'); INSERT 0 1 david=# insert into emp values (2, 'sandy'); INSERT 0 1 david=# insert into emp values (3, 'renee'); INSERT 0 1 david=# insert into emp values (4, 'jack'); INSERT 0 1 david=# insert into emp values (5, 'rose'); INSERT 0 1 david=#
三、查询初始化数据
david=# select ctid, * from emp; ctid | id | name -------+----+------- (0,1) | 1 | david (0,2) | 1 | david (0,3) | 1 | david (0,4) | 2 | sandy (0,5) | 2 | sandy (0,6) | 3 | renee (0,7) | 4 | jack (0,8) | 5 | rose (8 rows) david=#
查询重复数据数
david=# select distinct id, count(*) from emp group by id having count(*) > 1; id | count ----+------- | 3 | 2 (2 rows) david=#
查询出 id 为1的记录有3条,id 为2的记录有2条。
四、查询要保留的数据
以 min(ctid) 或 max(ctid) 为准。
david=# select ctid, * from emp where ctid in (select min(ctid) from emp group by id); ctid | id | name -------+----+------- (0,1) | 1 | david (0,4) | 2 | sandy (0,6) | 3 | renee (0,7) | 4 | jack (0,8) | 5 | rose (5 rows) david=#
五、删除重复数据
david=# delete from emp where ctid not in (select min(ctid) from emp group by id); DELETE 3 david=#
六、查看最后结果
david=# select ctid, * from emp; ctid | id | name -------+----+------- (0,1) | 1 | david (0,4) | 2 | sandy (0,6) | 3 | renee (0,7) | 4 | jack (0,8) | 5 | rose (5 rows) david=#
推荐:PostgreSQL教程
课程教程:postgresql表如何去重上一篇:怎么在jupyter中导入数据集
下一篇:没有了