一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - PostgreSQL - postgresql 刪除重復數據案例詳解

postgresql 刪除重復數據案例詳解

2021-09-28 15:20小兜全糖(Cx) PostgreSQL

這篇文章主要介紹了postgresql 刪除重復數據案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

1.建表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
 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.根據名稱獲取重復

先看看哪些數據重復了

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

輸出.

name        count

da              2

dd              2

3.刪除所有重復數據

注意把要更新的幾列數據查詢出來做為一個第三方表,然后篩選更新。

?
1
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最大那一條

?
1
2
3
4
5
6
7
8
SELECT
 1.
FROM
 test
WHERE
 id NOT IN (
 ( SELECT min( id ) AS id FROM test GROUP BY name )
 )

5.刪除數據

?
1
2
3
4
5
6
7
8
9
10
DELETE
FROM
 test
WHERE
 id NOT IN (
 SELECT
  t.id
 FROM
 ( SELECT max( id ) AS id FROM test GROUP BY name ) t
 )

到此這篇關于postgresql 刪除重復數據案例詳解的文章就介紹到這了,更多相關postgresql 刪除重復數據內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_43632687/article/details/119239104

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久国产综合精品网成人影院 | 热九九精品 | lubuntu网页版在线 | 2021国产精品露脸在线 | 亚洲系列第一页 | spy2wc48美女撒尿 | 天天成人 | 欧美视频在线一区二区三区 | 女人叉开腿让男人桶 | 国产综合成人久久大片91 | 96日本xxxxxxxxx70 95在线观看精品视频 | 久久精品视在线观看85 | 国产在线精品99一卡2卡 | chinese老头和老太交hd | 手机看片自拍 | 92国产福利久久青青草原 | 亚洲精品精品一区 | 亚洲午夜小视频 | 国产精品久久久久久影院 | 美女张开腿让男人桶的 视频 | 国产亚洲玖玖玖在线观看 | 欧洲vodafone精品性 | 精品午夜久久福利大片免费 | 91久久色| 亚洲成年| 四虎免费在线视频 | 亚州男人的天堂 | 韩国一级淫片特黄特刺激 | 国产91无毒不卡在线观看 | 小苹果日本在线观看 | 久久精品国产亚洲AV热无遮挡 | 国产综合亚洲专区在线 | 草榴色导航| 亚洲麻豆精品果冻传媒 | 黑人干亚洲人 | 911色_911色sss在线观看 | 亚洲系列第一页 | w7w7w7w7w免费| 国产梦呦精品 | 国内精品 大秀视频 日韩精品 | 色戒完整版 |