zoukankan      html  css  js  c++  java
  • 在MS SQL删除重复行的几种方法

    1。如果有ID字段,就是具有唯一性的字段   
        
      delect   table   where   id   not   in   (   
        
          select   max(id)   from   table   group   by   col1,col2,col3...   
      )   
      group   by   子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。   
        
        
        
      2,如果是判断所有字段也可以这样   
          select   *   into   #aa   from   table   group   by   id1,id2,....   
          delete   table     
          insert   into   table     
          select   *   from   #aa   
        
        
        
      3,没有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   
        
        
    4.  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字段内容相同即表示记录相同。   
        
      5   
      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...)   

    6.
    select   distinct   *   into   #temp   from   tablename     
      delete   tablename     
      go   
      insert   tablename   select   *   from   #temp   
      go   
      drop   table   #temp   
  • 相关阅读:
    Error (0xc0000225) installing Windows 8 R2 on VirtualBox
    网页宽高自适应大小
    C# Java DES加密解密
    JS获取DropDownList的value值与text值
    用Aspose.Cells控件读取Excel
    Extending your SharePoint 2007 site with Microsoft ASP.NET AJAX 3.5
    页面自定义拖拽布局
    OutLook 2010 收件箱子文件夹收到新邮件时没有桌面通知
    PeopleEditor的取值及赋值
    deprecate (声明不赞成)
  • 原文地址:https://www.cnblogs.com/shiyh/p/8404273.html
Copyright © 2011-2022 走看看