中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

postgresql表去重的方法

發布時間:2020-07-15 17:30:21 來源:億速云 閱讀:1039 作者:清晨 欄目:編程語言

小編給大家分享一下postgresql表去重的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

去重的方法一般是找到重復數據中的一條,以某一唯一條件去掉其他重復值。PostgreSQL 庫如何去除單表重復數據呢?可以通過 ctid 進行,下面我們就來看一下PostgreSQL去重的方法。

一、創建測試表

david=# create table emp (
david(# id int,
david(# name varchar);
CREATE TABLE
david=#

二、插入測試數據

david=# insert into emp values (1, 'david');
INSERT 0 1
david=# insert into emp values (1, 'david');
INSERT 0 1
david=# insert into emp values (1, 'david');
INSERT 0 1
david=# insert into emp values (2, 'sandy');
INSERT 0 1
david=# insert into emp values (2, 'sandy');
INSERT 0 1
david=# insert into emp values (3, 'renee'); 
INSERT 0 1
david=# insert into emp values (4, 'jack');  
INSERT 0 1
david=# insert into emp values (5, 'rose'); 
INSERT 0 1
david=#

三、查詢初始化數據

david=# select ctid, * from emp;
 ctid  | id | name  
-------+----+-------
 (0,1) |  1 | david
 (0,2) |  1 | david
 (0,3) |  1 | david
 (0,4) |  2 | sandy
 (0,5) |  2 | sandy
 (0,6) |  3 | renee
 (0,7) |  4 | jack
 (0,8) |  5 | rose
(8 rows)

david=#

查詢重復數據數

david=# select distinct id, count(*) from emp group by id having count(*) > 1;
 id | count 
----+-------
|     3
|     2
(2 rows)

david=#

查詢出 id 為1的記錄有3條,id 為2的記錄有2條。

四、查詢要保留的數據

以 min(ctid) 或 max(ctid) 為準。

david=# select ctid, * from emp where ctid in (select min(ctid) from emp group by id);
 ctid  | id | name  
-------+----+-------
 (0,1) |  1 | david
 (0,4) |  2 | sandy
 (0,6) |  3 | renee
 (0,7) |  4 | jack
 (0,8) |  5 | rose
(5 rows)

david=#

五、刪除重復數據

david=# delete from emp where ctid not in (select min(ctid) from emp group by id);
DELETE 3
david=#

六、查看最后結果

david=# select ctid, * from emp;
 ctid  | id | name  
-------+----+-------
 (0,1) |  1 | david
 (0,4) |  2 | sandy
 (0,6) |  3 | renee
 (0,7) |  4 | jack
 (0,8) |  5 | rose
(5 rows)

david=#

看完了這篇文章,相信你對postgresql表去重的方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

罗城| 玉树县| 凭祥市| 沁源县| 惠来县| 信阳市| 东辽县| 平陆县| 保山市| 唐河县| 宁河县| 监利县| 辽中县| 湘阴县| 樟树市| 皮山县| 赣州市| 广汉市| 涿州市| 泗洪县| 郸城县| 湾仔区| 保德县| 新巴尔虎右旗| 苗栗市| 黔西| 尼勒克县| 祁门县| 湖北省| 龙游县| 磐安县| 托克托县| 怀仁县| 宜兰市| 泰安市| 沛县| 宽城| 江陵县| 盘锦市| 双桥区| 辽源市|