• ADADADADAD

    SQL删除重复数据的方法[ mysql数据库 ]

    mysql数据库 时间:2024-11-28 13:27:52

    作者:文/会员上传

    简介:

    在sql中,可以使用select语句删除重复数据,语法为:“select * from 字段 where 字段id in (select 字段id from 字段 group by 字段 having count(字段id) > 1)”。本教程操作环

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在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*frompeoplewherepeopleIdin(selectpeopleIdfrompeoplegroupbypeopleIdhavingcount(peopleId)>1)

    扩展:

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

    deletefrompeoplewherepeopleNamein(selectpeopleNamefrompeoplegroupbypeopleNamehavingcount(peopleName)>1)andpeopleIdnotin(selectmin(peopleId)frompeoplegroupbypeopleNamehavingcount(peopleName)>1)

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

    select*fromvitaeawhere(a.peopleId,a.seq)in(selectpeopleId,seqfromvitaegroupbypeopleId,seqhavingcount(*)>1)

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

    deletefromvitaeawhere(a.peopleId,a.seq)in(selectpeopleId,seqfromvitaegroupbypeopleId,seqhavingcount(*)>1)androwidnotin(selectmin(rowid)fromvitaegroupbypeopleId,seqhavingcount(*)>1)

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

    select*fromvitaeawhere(a.peopleId,a.seq)in(selectpeopleId,seqfromvitaegroupbypeopleId,seqhavingcount(*)>1)androwidnotin(selectmin(rowid)fromvitaegroupbypeopleId,seqhavingcount(*)>1)

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

    updatetableNameset[Title]=Right([Title],(len([Title])-1))whereTitlelike'村%'

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

    updatetableNameset[Title]=left([Title],(len([Title])-1))whereTitlelike'%村'

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

    updatevitaesetispass=-1wherepeopleIdin(selectpeopleIdfromvitaegroupbypeopleId
    SQL删除重复数据的方法.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: sql