SQL Server重複資料刪除行的6個方法

來源:互聯網
上載者:User

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...)    

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.