PostgreSQL 重復(fù)數(shù)據(jù)處理的操作方法
PostgreSQL簡(jiǎn)介
PostgreSQL是一種特性非常齊全的自由軟件的對(duì)象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),是以加州大學(xué)計(jì)算機(jī)系開發(fā)的POSTGRES,4.2版本為基礎(chǔ)的對(duì)象關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。POSTGRES的許多領(lǐng)先概念只是在比較遲的時(shí)候才出現(xiàn)在商業(yè)網(wǎng)站數(shù)據(jù)庫中。PostgreSQL支持大部分的SQL標(biāo)準(zhǔn)并且提供了很多其他現(xiàn)代特性,如復(fù)雜查詢、外鍵、觸發(fā)器、視圖、事務(wù)完整性、多版本并發(fā)控制等。同樣,PostgreSQL也可以用許多方法擴(kuò)展,例如通過增加新的數(shù)據(jù)類型、函數(shù)、操作符、聚集函數(shù)、索引方法、過程語言等。另外,因?yàn)樵S可證的靈活,任何人都可以以任何目的免費(fèi)使用、修改和分發(fā)PostgreSQL。
我們?cè)谑褂胮ostgresql數(shù)據(jù)庫的時(shí)候,如果一張數(shù)據(jù)表在未做任何約束的情況下,很可能會(huì)出現(xiàn)幾條完全一樣的數(shù)據(jù),即重復(fù)數(shù)據(jù)。如下圖所示:

那么如果我們要?jiǎng)h除其中的2條該怎么辦呢?第一種我們可以清空表的內(nèi)容,再使用INSERT INTO語句再將內(nèi)容插入到表中。此方法可行,但對(duì)于專業(yè)人士來講,并不推薦
第二種我們可以結(jié)合pg數(shù)據(jù)庫中的ctid(和物理存儲(chǔ)有關(guān),指的是一條記錄位于哪個(gè)數(shù)據(jù)塊的哪個(gè)位移上面)來進(jìn)行刪除。這里我們使用依然先使用SELECT語句進(jìn)行查詢。

這樣我們就可以使用唯一標(biāo)識(shí)的ctid對(duì)重復(fù)數(shù)據(jù)進(jìn)行刪除操作,使用以下兩種方式都可以刪除tb_5201351表中2條數(shù)據(jù)。
DELETE FROM tb_5201351 WHERE ctid in ('(0,2)','(0,3)');
上面的方法原理是我們依次手工輸入要?jiǎng)h除指定ctid對(duì)應(yīng)的數(shù)據(jù),如果數(shù)據(jù)較多的話,我們還可以使用如下語句進(jìn)行刪除。
DELETE FROM tb_5201351 WHERE ctid not in (select min(ctid) from tb_5201351);
執(zhí)行后的結(jié)果如下圖所示:

到此這篇關(guān)于PostgreSQL 重復(fù)數(shù)據(jù)處理的操作方法的文章就介紹到這了,更多相關(guān)PostgreSQL 重復(fù)數(shù)據(jù)處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋
這篇文章主要介紹了postgresql 實(shí)現(xiàn)獲取所有表名,字段名,字段類型,注釋操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL 重復(fù)數(shù)據(jù)處理的操作方法
這篇文章主要介紹了PostgreSQL 重復(fù)數(shù)據(jù)處理的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
postgresql如何查詢重復(fù)計(jì)數(shù)及去重查詢
這篇文章主要介紹了postgresql如何查詢重復(fù)計(jì)數(shù)及去重查詢問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
postgresql 中的COALESCE()函數(shù)使用小技巧
這篇文章主要介紹了postgresql 中的COALESCE()函數(shù)使用小技巧,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL教程(七):函數(shù)和操作符詳解(3)
這篇文章主要介紹了PostgreSQL教程(七):函數(shù)和操作符詳解(3),本文講解了序列操作函數(shù)、條件表達(dá)式、數(shù)組函數(shù)和操作符、系統(tǒng)信息函數(shù)、系統(tǒng)管理函數(shù)等內(nèi)容,需要的朋友可以參考下2015-05-05
PostgreSQL存儲(chǔ)過程用法實(shí)戰(zhàn)詳解
這篇文章主要介紹了PostgreSQL存儲(chǔ)過程用法,結(jié)合具體實(shí)例詳細(xì)分析了PostgreSQL數(shù)據(jù)庫存儲(chǔ)過程的定義、使用方法及相關(guān)操作注意事項(xiàng),并附帶一個(gè)完整實(shí)例供大家參考,需要的朋友可以參考下2018-08-08
psql除法保留小數(shù),實(shí)現(xiàn)向上取整和向下取整操作
這篇文章主要介紹了psql除法保留小數(shù),實(shí)現(xiàn)向上取整和向下取整操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
解析PostgreSQL中Oid和Relfilenode的映射問題
這篇文章主要介紹了PostgreSQL中Oid和Relfilenode的映射問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01

