sql刪除重復的數據
A. sql中刪除重復數據
SQL Server刪除重復行是我們最常見的操作之一,下面就為您介紹六種適合不同情況的SQL Server刪除重復行的方法,供您參考。
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   Sqlclub   
go     
drop   table   #temp  
以上就是SQL Server刪除重復行的方法介紹。
B. 在sql語言中去掉重復值的命令是
distinct。
SQLserver中很明顯的去重復的語句是distinct。selectdistinct是去除重復的記錄行,count(distinctColumn),消除重復值。還有一些不明顯的具有去重功能的詞,例如union,會去除重復的記錄行或值。
C. sql查詢去掉重復記錄
1、打開要去掉重復數據的資料庫,這里新建一張含有重復數據的user表做示例,如下圖所示:

