• 售前

  • 售后

热门帖子
入门百科

PostgreSQL 重复数据处理的利用方法

[复制链接]
yhzdmb342 显示全部楼层 发表于 2021-10-26 12:29:33 |阅读模式 打印 上一主题 下一主题
PostgreSQL简介
PostgreSQL是一种特性非常齐备的自由软件的对象-关系型数据库管理体系(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为底子的对象关系型数据库管理体系。POSTGRES的许多领先概念只是在比力迟的时间才出现在贸易网站数据库中。PostgreSQL支持大部门的SQL尺度而且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事件完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,比方通过增加新的数据类型、函数、操纵符、聚集函数、索引方法、过程语言等。别的,因为答应证的灵活,任何人都可以以任何目标免费使用、修改和分发PostgreSQL。
我们在使用postgresql数据库的时间,假如一张数据表在未做任何约束的情况下,很可能会出现几条完全一样的数据,即重复数据。如下图所示:

那么假如我们要删除其中的2条该怎么办呢?第一种我们可以清空表的内容,再使用INSERT INTO语句再将内容插入到表中。此方法可行,但对于专业人士来讲,并不推荐
第二种我们可以团结pg数据库中的ctid(和物理存储有关,指的是一条记载位于哪个数据块的哪个位移上面)来进行删除。这里我们使用依然先使用SELECT语句进行查询。

这样我们就可以使用唯一标识的ctid对重复数据进行删除操纵,使用以下两种方式都可以删除tb_5201351表中2条数据。
  1. DELETE FROM tb_5201351 WHERE ctid in ('(0,2)','(0,3)');
复制代码
上面的方法原理是我们依次手工输入要删除指定ctid对应的数据,假如数据较多的话,我们还可以使用如下语句进行删除。
  1. DELETE FROM tb_5201351 WHERE ctid not in (select min(ctid) from tb_5201351);
复制代码
执行后的结果如下图所示:

到此这篇关于PostgreSQL 重复数据处理的操纵方法的文章就介绍到这了,更多干系PostgreSQL 重复数据处理内容请搜索脚本之家从前的文章或继续欣赏下面的干系文章盼望各人以后多多支持脚本之家!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作