Postgresql删除重复数据
来源:互联网 发布:windows下的dig工具 编辑:程序博客网 时间:2024/06/07 22:15
环境
Postgresql 9.4.4
方法1:中间表
1 查看已有数据
cqdb=> select * from test order by id; id | name----+------- 1 | henry 2 | susan 2 | susan 3 | lily 4 | jerry 5 | stephen 5 | stephen2 创建中间表并插入数据
cqdb=> create table test_tmp as select distinct id,name from test;SELECT 5cqdb=> select * from test_tmp; id | name----+--------- 4 | jerry 3 | lily 5 | stephen 1 | henry 2 | susan3 删除原表并把中间表作为原始表
cqdb=> drop table test;DROP TABLEcqdb=> alter table test_tmp rename to test;ALTER TABLEcqdb=> select * from test order by id; id | name----+------- 1 | henry 2 | susan 3 | lily 4 | jerry 5 | stephen
方法2:行唯一标识ctid
1 查看ctid
cqdb=> select ctid,* from test ; ctid | id | name-------+----+------- (0,8) | 1 | henry (0,9) | 2 | susan (0,10) | 3 | lily (0,11) | 4 | jerry (0,12) | 5 | stephen (0,13) | 5 | stephen (0,14) | 2 | susan
2 删除重复数据
cqdb=> delete from test as a where ctid > (select min(ctid) from test as b where a.id = b.id);DELETE 2cqdb=> select ctid,* from test ; ctid | id | name-------+----+------- (0,8) | 1 | henry (0,9) | 2 | susan (0,10) | 3 | lily (0,11) | 4 | jerry (0,12) | 5 | stephen
0 0
- PostgreSQL删除重复数据
- Postgresql删除重复数据
- postgresql 删除ID重复数据
- postgresql数据库三种删除重复数据的方法
- PostgreSQL 使用citd删除重复行
- oracle删除重复数据
- sql删除重复数据
- sql 删除重复数据
- 删除重复数据
- 删除重复的数据
- 删除重复数据 方法
- 数组-删除重复数据
- mysql 删除重复数据
- 删除重复数据
- 删除重复数据
- 删除重复数据
- 删除重复数据
- 删除重复数据
- **Quartz定时调度**
- 实时弹幕系统的设计与实现
- POJ 3580 splay
- NSCache 缓存类源码分析
- Jstree增加刷新回调方法
- Postgresql删除重复数据
- [初级知识]如何正确nandflash的块地址和页地址
- 深浅拷贝解析
- 基础备忘:关于传值与传引用的讨论
- 策略模式详解——参考《Head First设计模式》
- mysql init_connect 参数的其他用处
- oracle学习笔记-表的管理-(8)
- 线性表的链式实现(单链表)——无独立表头的实现
- OPC同步读取和异步读取-------OPC(第七篇)