zoukankan      html  css  js  c++  java
  • 六种SQL Server删除重复行的方法(转)

    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删除重复行的方法介绍。

  • 相关阅读:
    C#中一行代码实现18位数字时间戳转换为DateTime
    Java,Python,前端,Linux,公众号等5T编程资源整理免费下载
    Winform中使用FastReport的DesignReport时怎样给通过代码Table添加数据
    一、渐变边框
    一、Dev单元格
    一、Dev
    一、
    三、数据-1
    三、接口数据格式-2
    二、GitLab使用
  • 原文地址:https://www.cnblogs.com/shijun/p/2413929.html
Copyright © 2011-2022 走看看