zoukankan      html  css  js  c++  java
  • [转]六种删除数据库重复行的方法

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

  • 相关阅读:
    php投票系统
    php登陆和注册
    php常见报错
    session和cookie的区别
    php加密方法有哪些
    链接数据库封装类
    php数据库批量删除
    三傻大闹宝莱坞
    巴霍巴利王
    布拉德的中年危机
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2167095.html
Copyright © 2011-2022 走看看