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无序uuid性能测试及对数据库的影响
Jun 11 PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 PostgreSQL
PostgreSQL自动更新时间戳实例代码
Nov 27 PostgreSQL
PostgreSQL13基于流复制搭建后备服务器的方法
Jan 18 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
PostgreSQL并行计算算法及参数强制并行度设置方法
Apr 07 PostgreSQL
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
Apr 12 PostgreSQL
PostgreSQL聚合函数介绍以及分组和排序
Apr 12 PostgreSQL
PostgreSQL怎么创建分区表详解
Jun 25 PostgreSQL
PostgreSQL逻辑复制解密原理解析
Sep 23 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代码运行时间查看类代码分享
2011/08/06 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
php获取网页请求状态程序示例
2014/06/17 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
php函数连续调用实例分析
2015/07/30 PHP
php常量详细解析
2015/10/27 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
使用 PHP Masked Package 屏蔽敏感数据的实现方法
2019/10/15 PHP
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
基于jQuery实现响应式圆形图片轮播特效
2015/11/25 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
Nodejs+Socket.io实现通讯实例代码
2017/02/13 NodeJs
Express框架之connect-flash详解
2017/05/31 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
2020/07/16 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
行政人员岗位职责
2013/12/08 职场文书
学术会议主持词
2014/03/17 职场文书
低碳环保倡议书
2014/04/14 职场文书
室内趣味活动方案
2014/08/24 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
swagger如何返回map字段注释
2021/07/03 Java/Android
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python