我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据库删除重复数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据库删除重复数据

               当数据库数据量大的时候,删除重复元素是很讨厌的,有时候怎么也写不对,闲下来整理一下删除
         重复数据的sql,数据表是之前看mysql教学视频的素材,但是找不到哪里的了,如果原作者看到请
         留言。

    -- 创建数据表

    CREATE TABLE IF NOT EXISTS tdb_goods(
        goods_id    SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
        goods_name  VARCHAR(150) NOT NULL,
        goods_cate  VARCHAR(40)  NOT NULL,
        brand_name  VARCHAR(40)  NOT NULL,
        goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0,
        is_show     BOOLEAN NOT NULL DEFAULT 1,
        is_saleoff  BOOLEAN NOT NULL DEFAULT 0
    );

 -- 写入记录

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('R510VC 15.6英寸笔记本','笔记本','华硕','3399',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('Y400N 14.0英寸笔记本电脑','笔记本','联想','4899',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('G150TH 15.6英寸游戏本','游戏本','雷神','8499',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('X550CC 15.6英寸笔记本','笔记本','华硕','2799',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('X240(20ALA0EYCD) 12.5英寸超极本','超级本','联想','4999',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('U330P 13.3英寸超极本','超级本','联想','4299',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('SVP13226SCB 13.3英寸触控超极本','超级本','索尼','7999',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('iPad mini MD531CH/A 7.9英寸平板电脑','平板电脑','苹果','1998',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('iPad Air MD788CH/A 9.7英寸平板电脑 (16G WiFi版)','平板电脑','苹果','3388',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) 
 VALUES(' iPad mini ME279CH/A 配备 Retina 显示屏 7.9英寸平板电脑 (16G WiFi版)','平板电脑',
 '苹果','2788',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) VALUES('IdeaCentre C340 20英寸一体电脑 ','台式机','联想','3499',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('Vostro 3800-R1206 台式电脑','台式机','戴尔','2899',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('iMac ME086CH/A 21.5英寸一体电脑','台式机','苹果','9188',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('AT7-7414LP 台式电脑 (i5-3450四核 4G 500G 2G独显 DVD 键鼠 Linux )','台式机',
 '宏碁','3699',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('Z220SFF F4F06PA工作站','服务器/工作站','惠普','4288',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('PowerEdge ×××10 II服务器','服务器/工作站','戴尔','5388',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('Mac Pro MD878CH/A 专业级台式电脑','服务器/工作站','苹果','28888',
 DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) 
 VALUES(' HMZ-T3W 头戴显示设备','笔记本配件','索尼','6999',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('商务双肩背包','笔记本配件','索尼','99',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('X3250 M4机架式服务器 2583i14','服务器/工作站','IBM','6888',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('玄龙精英版 笔记本散热器','笔记本配件','九州风神','',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff) 
 VALUES(' HMZ-T3W 头戴显示设备','笔记本配件','索尼','6999',DEFAULT,DEFAULT);

 INSERT tdb_goods (goods_name,goods_cate,brand_name,goods_price,is_show,is_saleoff)
 VALUES('商务双肩背包','笔记本配件','索尼','99',DEFAULT,DEFAULT);

 --插入重复数据
 INSERT tdb_goods(goods_name,cate_id,brand_id) 
 SELECT goods_name,cate_id,brand_id,goods_price FROM tdb_goods
 WHERE goods_id IN (19,20)

 --查询重复数据
 SELECT goods_id,goods_name,goods_price FROM tdb_goods 
 GROUP BY goods_name,goods_price HAVING count(goods_name) >= 2

 --将要删除的id查询出来
 select t1.goods_id from  tdb_goods as t1 left  JOIN
 (SELECT goods_id,goods_name,goods_price FROM tdb_goods 
 GROUP BY goods_name,goods_price HAVING count(goods_name) >= 2) t2 
 on t1.goods_name = t2.goods_name where t1.goods_id>t2.goods_id

    --执行删除
delete t1 from  tdb_goods as t1 left  JOIN 
(SELECT goods_id,goods_name,goods_price FROM tdb_goods 
GROUP BY goods_name,goods_price HAVING count(goods_name) >= 2) t2 
on t1.goods_name = t2.goods_name 
where t1.goods_id>t2.goods_id    

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据库删除重复数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql数据库怎么删除重复数据库

mysql 中删除重复数据库的过程如下:使用查询识别重复数据库。使用 drop database 语句删除重复数据库。使用 show databases 验证重复数据库是否已删除。如何删除 MySQL 中的重复数据库MySQL 中删除重复
mysql数据库怎么删除重复数据库
2024-08-05

怎么删除mysql重复数据库

如何删除 mysql 重复数据库查找重复数据库(使用 show databases 命令)。连接到要删除的数据库(使用 use database 命令)。删除数据库中所有表(使用 drop table 命令)。删除重复数据库(使用 drop
怎么删除mysql重复数据库
2024-08-05

mysql数据库怎么删除重复

在 MySQL 数据库中删除重复项的方法有:SELECT DISTINCT column1, column2, ...FROM table_name;SELECT column1, column2, ...FROM table_nameGR
mysql数据库怎么删除重复
2024-08-05

数据库mysql怎么删除重复项

要从 mysql 数据库中删除重复项,可以采取以下步骤:确定要删除重复项的列或组合列。使用 distinct 或 group by 语句删除重复行。使用 delete with 关键字永久删除重复行,确保按主键排序。如何从 MySQL 数据
数据库mysql怎么删除重复项
2024-08-05

怎么在mysql数据库中删除重复的数据

本篇文章为大家展示了怎么在mysql数据库中删除重复的数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.问题引入假设一个场景,一张用户表,包含3个字段。id,identity_id,name。现
2023-06-07

备份数据重复的数据库sql删除操作

update   eepm_engineer_pro_implement set state=2 where id in ( select   p1.id FROM eepm_engineer_pro_implement p1,eepm_engineer_pr
备份数据重复的数据库sql删除操作
2017-09-17

Android List删除重复数据

1、通过循环进行删除public static void removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j =
2023-05-31

shell脚本操作mysql数据库删除重复的数据

由于之前的业务,造成数据库上产生了脏数据,写个脚本删除重复的数据。由于是开发测试环境,所以选择任意删除相同uid中的一条。由于每次执行只删除重复数据的一条,需要重复执行,如果本轮没有数据被删就OK#!/bin/sh # delete all
2022-06-04

plsql如何删除重复数据

在PL/SQL中删除重复数据可以通过以下步骤实现:创建一个临时表来存储唯一的数据使用INSERT INTO SELECT DISTINCT语句将唯一的数据插入到临时表中使用DELETE语句删除原始表中的所有数据使用INSERT INT
plsql如何删除重复数据
2024-04-15

oracle怎么删除重复数据

oracle 提供了三种删除重复数据的方法:使用 delete 语句根据指定列分组,保留每组中 rowid 最小的行。使用 merge 语句根据指定列分组,使用 merge 语句匹配源表和目标表中的行,并删除重复行。使用 distinct
oracle怎么删除重复数据
2024-05-21

mongodb怎么删除重复数据

在MongoDB中删除重复数据可以使用聚合管道和$group操作符来实现。以下是一种常见的方法:1. 使用聚合管道和$group操作符找到重复数据:javascriptdb.collection.aggregate([{$group: {_
2023-10-20

编程热搜

目录