postgresql 删除重复数据案例详解


Posted in PostgreSQL onAugust 02, 2021

1.建表

/*
 Navicat Premium Data Transfer

 Source Server         : localhost
 Source Server Type    : PostgreSQL
 Source Server Version : 110012
 Source Host           : localhost:5432
 Source Catalog        : postgres
 Source Schema         : public

 Target Server Type    : PostgreSQL
 Target Server Version : 110012
 File Encoding         : 65001

 Date: 30/07/2021 10:10:04
*/


-- ----------------------------
-- Table structure for test
-- ----------------------------
DROP TABLE IF EXISTS "public"."test";
CREATE TABLE "public"."test" (
  "id" int4 NOT NULL DEFAULT NULL,
  "name" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL,
  "age" int4 DEFAULT NULL
)
;

-- ----------------------------
-- Records of test
-- ----------------------------
INSERT INTO "public"."test" VALUES (1, 'da', 1);
INSERT INTO "public"."test" VALUES (2, 'da', 12);
INSERT INTO "public"."test" VALUES (3, 'dd', 80);
INSERT INTO "public"."test" VALUES (4, 'dd', 80);
INSERT INTO "public"."test" VALUES (5, 'd1', 13);

-- ----------------------------
-- Primary Key structure for table test
-- ----------------------------
ALTER TABLE "public"."test" ADD CONSTRAINT "test_pkey" PRIMARY KEY ("id");

2.根据名称获取重复

先看看哪些数据重复了

select name ,count(1)  from test group by name  having count(1)>1

输出.

name        count

da              2

dd              2

3.删除所有重复数据

注意把要更新的几列数据查询出来做为一个第三方表,然后筛选更新。

delete from test where name in (select t.name from (select name ,count(1)  from test group by name  having count(1)>1) t)

4.保留一行数据

这里展示我们需要保留的数据:重复数据,保留ID最大那一条

SELECT
 1. 
FROM
 test 
WHERE
 id NOT IN (
 ( SELECT min( id ) AS id FROM test GROUP BY name ) 
 )

5.删除数据

DELETE 
FROM
 test 
WHERE
 id NOT IN (
 SELECT
  t.id 
 FROM
 ( SELECT max( id ) AS id FROM test GROUP BY name ) t 
 )

到此这篇关于postgresql 删除重复数据案例详解的文章就介绍到这了,更多相关postgresql 删除重复数据内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PostgreSQL 相关文章推荐
PostgreSQL将数据加载到buffer cache中操作方法
Apr 16 PostgreSQL
如何使用PostgreSQL进行中文全文检索
May 27 PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 PostgreSQL
关于PostgreSQL JSONB的匹配和交集问题
Sep 14 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
Apr 12 PostgreSQL
PostgreSQL数据库去除重复数据和运算符的基本查询操作
Apr 12 PostgreSQL
PostgreSQL基于pgrouting的路径规划处理方法
Apr 18 PostgreSQL
PostgreSQL怎么创建分区表详解
Jun 25 PostgreSQL
PostgreSQL解析URL的方法
Aug 02 #PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 #PostgreSQL
浅谈PostgreSQL表分区的三种方式
通过Qt连接OpenGauss数据库的详细教程
postgres之jsonb属性的使用操作
Jun 23 #PostgreSQL
postgresql无序uuid性能测试及对数据库的影响
Jun 11 #PostgreSQL
如何使用PostgreSQL进行中文全文检索
May 27 #PostgreSQL
You might like
PHP设计模式之责任链模式的深入解析
2013/06/13 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
jquery 抽奖小程序实现代码
2016/10/12 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
vue.js的安装方法
2017/05/12 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
Python实现PS图像调整黑白效果示例
2018/01/25 Python
Python可迭代对象操作示例
2019/05/07 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
2019/07/12 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
MoviePy简介及Python视频剪辑自动化
2020/12/18 Python
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
七年级地理教学反思
2014/01/26 职场文书
党员服务承诺书
2014/05/28 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
环保公益策划方案
2014/08/15 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
校园广播稿100字
2014/10/06 职场文书
大学生学年个人总结
2015/02/15 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
2016十一国庆节慰问信
2015/12/01 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
Java基于字符界面的简易收银台
2021/06/26 Java/Android