SQL 删除重复记录,并保留其中一条
SQL 删除 保留 一条 其中 重复记录
2023-09-11 14:14:50 时间
SQL:删除重复数据,只保留一条用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢
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
)
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,seq
having count() > 1
)
and
seq in
(
select 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 Server sql Always on Group 事务日志增大的问题
- sql重复数据查询,sql分组数据查询,sql分组数据的总条数,sql分组后数据的条数(条数大于1的显示), 删除多余重复数据
- MySQL通过sql语句获取当前日期|时间|时间戳
- SQL案例分析-地铁换乘线路查询.sql
- SQL案例分析-应用系统用户权限设计.sql
- sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法
- Sql Server 删除数据表的存储过程,直接能用!(源码带说明)
- SQL中用一句sql语句将数据库中的两列值进行交换
- 第147章 SQL函数 TO_TIMESTAMP
- 如何在 SQL 中执行搜索和替换
- sql查询重复记录、删除重复记录方法大全
- sql server 导出表结构
- 《SQL入门经典(第5版)》一一6.5 问与答
- 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.5 列出SQL Server配置设置
- 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.10 删除数据库
- 转 sql 语句性能比较慢 执行计划
- 实战案例:Sql client使用sql操作FlinkCDC2Hudi、支持从savepoint恢复hudi作业
- sql server 小技巧(8) visual studio 2013里使用Sql server compact 4.0及发布问题处理
- 在Windows Server 2012 R2中搭建SQL Server 2012故障转移集群
- SQL Server 的索引结构实例
- SQL Server中怎样可以从SELECT语句的结果集中删除重复行
- sql server truncate table 删除表数据限制条件
- PL/SQL Developer 和 instantclient客户端安装配置
- (4.61)sql server执行SQL遇到错误不中断
- sql server删除订阅发布失败,无法作为数据库主题执行,因为主体"dbo"不存在、无法模拟这种类型的主体,或您没有所需要的权限。
- sql server代理服务无法启动(SQL Agent):OpenSQLServerInstanceRegKey:GetRegKeyAccessMask failed (reason: 2).
- SQL Server 登录名、服务器角色、用户名和数据库角色 --- 解释
- SQL Server性能常用语句
- SQLserver找出执行慢的SQL语句
- 如何在sql server的group by语句中聚合字符串字段
- sql-常见的SQL优化
- SQL Server中的between(在某个范围)