• [转]六种删除数据库重复行的方法


    SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考。

    1.如果有ID字段,就是具有唯一性的字段

    1. delect table where id not in (

    2. select max(id) from table group by col1,col2,col3...
    3. )

    group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

    2. 如果是判断所有字段也可以这样

    1. select * into #aa from table group by id1,id2,....
    2. delete table
    3. insert into table
    4. select * from #aa

    3. 没有ID的情况

    1. select identity(int,1,1) as id,* into #temp from tabel
    2. delect # where id not in (
    3. select max(id) from # group by col1,col2,col3...)
    4. delect table
    5. inset into table(...)
    6. select ..... from #temp

    4. col1+','+col2+','...col5 联合主键

    1. select * from table where col1+','+col2+','...col5 in (
    2. select max(col1+','+col2+','...col5) from table
    3. where having count(*)>1
    4. group by col1,col2,col3,col4
    5. )

    group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。

    5.

    1. select identity(int,1,1) as id,* into #temp from tabel
    2. select * from #temp where id in (
    3. select max(id) from #emp where having count(*)>1 group by col1,col2,col3...)

    6.

    1. select distinct * into #temp from tablename
    2. delete tablename
    3. go
    4. insert tablename select * from #temp Sqlclub
    5. go
    6. drop table #temp

    以上就是SQL Server删除重复行的方法介绍。

  • 相关阅读:
    程序11
    程序9
    程序10
    程序8
    提示框
    程序6
    莫名其妙的“网线未连接”
    UI自动化测试笔记(2)
    UI自动化测试笔记(1)
    三年开发项目经验总结
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2167095.html
Copyright © 2020-2023  润新知