sql删除重复数据只保留一条的操作方法

news/2025/1/15 21:49:32/

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from people
where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1)
and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1)

3、查找表中多余的重复记录(多个字段)

select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

 运行上面 sql 报 “You can‘t specify target table for update in FROM clause” 报错,解决方案:

MySQL出现You can‘t specify target table for update in FROM clause错误的解决方法_一个写湿的程序猿的博客-CSDN博客MySQL出现You can‘t specify target table for update in FROM clause错误的解决方法https://blog.csdn.net/qq_32727095/article/details/124492897正确的sql 应该是 :

delete from jobs
where job_id in (select job_id from (select job_id from jobs group by job_id having count(job_id) > 1) as a)
and id not in (select min_id from (select min(id) as min_id from jobs group by job_id having count(job_id)>1) as b)

5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录

select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)  

6.消除一个字段的左边的第一位:

update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like '村%'

7.消除一个字段的右边的第一位:

update tableName set [Title]=left([Title],(len([Title])-1)) where Title like '%村'

8.假删除表中多余的重复记录(多个字段),不包含rowid最小的记录

update vitae set ispass=-1
where peopleId in (select peopleId from vitae group by peopleId


 


http://www.ppmy.cn/news/734765.html

相关文章

elixir语言并发编程

文章目录 spwan进程通信spawn_link erlang教程: 基础入门🔥 编程基础🔥 数据结构🔥 递归🔥 并发编程 elixir教程: 基础入门🔥 编程基础🔥 模式匹配🔥 递归枚举 …

SQL删除重复数据

例: idnamelogin_date1张三2023-04-292张三2023-04-303李四2023-04-304王五2023-04-305张三2023-04-306李四2023-04-307王五2023-05-018张三2023-05-019李四2023-05-0110王五2023-05-01 因为表的主键(id)是唯一的,所以只需要找到…

web服务端接收多用户并发上传同一文件,保证文件副本只存在一份(附go语言实现)

背景 对于一个文件服务器来说,对于同一文件,应该只保存一份在服务器上。基于这个原则,引发出本篇内容。 本篇仅阐述文件服务器在同一时间接收同一文件的并发问题,这种对于小体量的服务来说并不常见,但是最好还是要留…

使用jumpserver堡垒机管理王者荣耀服务器

堡垒机概述: 堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的***和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时…

王者荣耀 服务器位置 移动,王者荣耀怎么转区 王者荣耀角色迁移操作方法

王者荣耀官方目前正在内测角色迁移功能,等到功能正式上线后,各位玩家就可以转区了,这非常适合换过手机系统的玩家。那么王者荣耀怎么转区?下面小编就为大家带来了角色迁移详细方法步骤,一起来看看吧。 王者荣耀角色怎么迁移 1.转…

王者账号服务器不统一怎么办,王者荣耀连不上服务器怎么办_王者荣耀连不上服务器怎么回事_王者荣耀进不去服务器怎么办...

王者荣耀进不去怎么办?王者荣耀登陆不了怎么办?希望这篇王者荣耀登陆不了解决办法,能够帮到正在玩王者荣耀的玩家朋友。 王者荣耀为什么进不去? 一、内存空间和运存不足是主要原因。玩家在安装游戏前应该检查下自己手机的剩余容量,如果容量不足&#…

服务器正在维护中王者荣耀,王者荣耀7月服务器正在维护中_王者荣耀7月3日服务器正在维护中解决方法_游戏吧...

王者荣耀7月3日出现了服务器正在维护中的问题,想必大家都很想知道这到底怎么回事吧。下面游戏吧小编就为大家带来了王者荣耀部分召唤师暂时无法登录游戏异常说明公告。 亲爱的召唤师: 老亚瑟发现部分召唤师在7月3日16:00-16:20出现无法登录游戏&#xff…

王者荣耀服务器架构

本人呢,可以说是王者荣耀这款游戏的一个忠实爱好者吧 。看到这个演进的时候 ,很认真的阅读了一遍。 当下来说,王者荣耀这个游戏非常的流行,主播事业也是渐渐盛起 ,从王者荣耀联想到电子游戏的架构演进,可以…