首页 > 数据库 >sql语句重复数据的查找和删除

sql语句重复数据的查找和删除

时间:2023-02-06 14:48:00浏览次数:48  
标签:语句 重复 id 查找 sql 重复记录 where ID Select

一、查找重复记录

1.查找全部重复记录
单字段:
Select * From 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)
多字段:
select id from 表 a where id !=(select max(id) from 表 b where a.[OrderNo]=b.[OrderNo] and a.[OrderType]=b.[OrderType] and a.[LNID]=b.[LNID])

2.过滤重复记录(只显示一条)

Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title)

注:此处显示ID最大一条记录

 

二、删除重复记录

1.删除全部重复记录(慎用)
单字段:
Delete 表 Where 重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1)
多字段:
Delete FROM dbo.table where id in ( select id from dbo.table a where id !=(select max(id) from dbo.table b
where a.[OrderNo]=b.[OrderNo] and a.[OrderType]=b.[OrderType] and a.[LNID]=b.[LNID]))

2.保留一条(这个应该是大多数人所需要的 _)

Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)

注:此处保留ID最大一条记录

标签:语句,重复,id,查找,sql,重复记录,where,ID,Select
From: https://www.cnblogs.com/Depingblogs/p/17095322.html

相关文章

  • 《剑指Offer》-4-二维数组中查找/力扣-240-搜索二维数组Ⅱ
    从最后一列的第一个数字开始比较,依次倒数第二列第一个数字、倒数第三列...找到第一个<=target的数字,这样可以将范围缩小到一列然后用二分查找快速判断目标元素有没有......
  • MySQL(九)插入、更新和删除
    常用的SQL语句,除了select用于查询,还有insert、update、delete等。 一、insertinsert:用来插入(或添加)行到数据库中,常见方式有以下几种:①插入完整的行;②插入行的一部分;③插入......
  • MySQL(十一)视图及存储过程
    一、视图视图是虚拟的表,它只包含使用时动态检索数据的查询。1、使用视图的好处①重用SQL语句;②简化复杂的SQL操作(可以方便的重用它而不必知道它的基本查询细节);③使用表的组......
  • MySQL(十)操纵表及全文本搜索
    一、创建表MySQL不仅用于表数据操作,还可以用来执行数据库和表的所有操作,包括表本身的创建和处理。创建表一般有如下两种方式:①使用具有交互式创建和管理表的工具;②直接使用M......
  • mysql max_allowed_packet查询和修改
    ​mysql根据配置文件会限制server接受的数据包大小。有时候大的插入和更新会被max_allowed_packet参数限制掉,导致失败。查看目前配置  showVARIABLESlike......
  • MySQL错误锦集【持续更新】
    [42000][1075]Incorrecttabledefinition;therecanbeonlyoneautocolumnanditmustbedefinedasakey出现情景:在当前表格,有添加了主键的auto_increment但......
  • 使用PLSQL developer远程连接oracle数据库(windows)--简单版
    1、PLSQLDeveloper下载安装及激活下载地址:链接:https://pan.baidu.com/s/1WP5TywMR0LtsPfPg630gjQ提取码:wd79复制这段内容后打开百度网盘手机App,操作更方便哦note......
  • MySQL执行流程
    MySQL执行流程select语句执行流程增删改语句执行流程update语句的整体执行流程和select语句是一样的。只是少了缓存的那一步骤。mysql想完成数据的修改,会先从存储引擎......
  • 《剑指Offer》-53-在排序数组中查找数字/力扣-34
    Ⅰ统计一个数字在排序数组中出现的次数 intsearch(vector<int>&nums,inttarget){ intcount=0; for(intnum:nums){ if(num==target)count++; ......
  • MySQL最大连接数设置
    CannotconnecttoMySQLserver. Toomanyconnections”-mysql1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。通常,mysql的最大连接数默认是100,......