zoukankan      html  css  js  c++  java
  • SQL Server删除重复行的6个方法

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

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

    delect   table  tableName  where   id   not   in   (   select   max(id)   from   table   group   by   col1,col2,col3...   )     

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

    2. 如果是判断所有字段也可以这样  ,【对于表中的指定的字段的进行检查是否相同】

    select   *   into   #temp  from   tablename    group   by   id1,id2,....     

    delete    tablename       

    insert   into   table  select   *   from   #temp  

    drop   table   #temp  

    3.  首先去重复,再获取N*1条数据插入到临时表中,【对于表中的所有字段的进行检查是否相同】,再将原表的数据删除,然后将临时表的数据插入到原表,最后删除临时表。

    select   distinct   *   into   #temp   from   tablename       

    delete       tablename       

    go     

    insert   tablename   select   *   from   #temp     

    go     

    drop   table   #temp  

      

    4. 没有ID的情况  

    select   identity(int,1,1)   as   id,*   into   #temp   from   tabel     

    delect   #   where   id   not   in   (     

    select   max(id)   from   #   group   by   col1,col2,col3...)     

    delect   table     

    inset   into   table(...)     

    select   .....   from   #temp    

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

    select   *   from     table   where   col1+','+col2+','...col5   in   (     

    select   max(col1+','+col2+','...col5)   from   table       

    where   having   count(*)>1     

    group   by   col1,col2,col3,col4       

    )    

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

    6. 

    select   identity(int,1,1)   as   id,*   into   #temp   from   tabel     

    select   *   from     #temp   where   id   in   (     

    select   max(id)   from   #emp   where   having   count(*)>1   group   by   col1,col2,col3...)    

  • 相关阅读:
    阿里巴巴开源故障注入工具_chaosblade
    一步一步解决centos6.5配置无线网卡的问题
    python自动化测试三部曲之request+django实现接口测试
    python自动化测试三部曲之unittest框架
    python子类如何继承父类的实例变量?
    tp5.0 的 系统变量
    tp5.1 相同控制器不同方法session无法取出的问题
    php 常用自定义函数
    tp5.1 配置多个项目共用同一个核心库
    git LF 和 CRLF换行的问题
  • 原文地址:https://www.cnblogs.com/kayvanguo/p/5851015.html
Copyright © 2011-2022 走看看