共计 1708 个字符,预计需要花费 5 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章将为大家详细讲解有关 SQL 删除重复数据的方法,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
在 sql 中,可以使用 select 语句删除重复数据,语法为:“select * from 字段 where 字段 id in (select 字段 id from 字段 group by 字段 having count( 字段 id) 1)”。
本教程操作环境:windows7 系统、mysql8.0 版本、Dell G3 电脑。
用 SQL 语句, 删除掉重复项只保留一条
在几千条记录里, 存在着些相同的记录, 如何能用 SQL 语句, 删除掉重复的呢
查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) 1)
扩展:
删除表中多余的重复记录,重复记录是根据单个字段(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)
查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)
删除表中多余的重复记录(多个字段),只留有 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)
查找表中多余的重复记录(多个字段),不包含 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)
消除一个字段的左边的第一位:
update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like 村 %
消除一个字段的右边的第一位:
update tableName set [Title]=left([Title],(len([Title])-1)) where Title like % 村
假删除表中多余的重复记录(多个字段),不包含 rowid 最小的记录
update vitae set ispass=-1where peopleId in (select peopleId from vitae group by peopleId
关于“SQL 删除重复数据的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
向 AI 问一下细节