PostgreSQL 库如何去除单表重复数据呢?可以通过 ctid 进行,下面是实验过程。
一、创建测试表
| 代码如下 | 复制代码 |
| david=# create table emp ( david(# id int, david(# name varchar); CREATE TABLE david=# |
|
二、插入测试数据
| 代码如下 | 复制代码 |
|
|
|
三、查询初始化数据
| 代码如下 | 复制代码 |
|
david=# |
|
查询重复数据数
| 代码如下 | 复制代码 |
|
david=# |
|
查询出 id 为1的记录有3条,id 为2的记录有2条。
四、查询要保留的数据
以 min(ctid) 或 max(ctid) 为准。
| 代码如下 | 复制代码 |
|
david=# |
|
五、删除重复数据
| 代码如下 | 复制代码 |
|
david=# delete from emp where ctid not in (select min(ctid) from emp group by id); |
|
六、查看最后结果
| 代码如下 | 复制代码 |
|
|
|
david=# 说明:如果表中已经有标明唯一的序列主键值,可以把该值替换上述的ctid直接删除
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏