您的位置:網(wǎng)站首頁 > 電器維修資料網(wǎng) > 正文 >
教你刪除SQL重復(fù)行不同情況的語句
★★★★★【文章導(dǎo)讀】:教你刪除SQL重復(fù)行不同情況的語句具體內(nèi)容是:學(xué)過SQL的人都知道一些刪除語句里面重復(fù)行的方法,但是由于SQL語句的寫法也是非常的寬闊的,在抒寫的過程中也是需要注意很多的細(xì)節(jié)問題的,現(xiàn)在關(guān)于五種適合不同情況的SQLServer刪除重復(fù)行的方法我們做了一下的總結(jié)。…
來源: 日期:2013-11-21 20:00:53 人氣:標(biāo)簽:
學(xué)過SQL的人都知道一些刪除語句里面重復(fù)行的方法,但是由于SQL語句的寫法也是非常的寬闊的,在抒寫的過程中也是需要注意很多的細(xì)節(jié)問題的,現(xiàn)在關(guān)于五種適合不同情況的SQL Server刪除重復(fù)行的方法我們做了一下的總結(jié)。
一. 如果是判斷所有字段也可以這樣
select * into #aa from table group by id1,id2,.... 的lete table insert into table select * from #aa
二.如果有ID字段,就是具有唯一性的字段
的lect table where id not in ( select max(id) from table group by col1,col2,col3... ) group by 子句后跟的字段就是你用來判斷重復(fù)的條件,如只有col1,那么只要col1字段內(nèi)容相同即表示記錄相同。
三. 沒有ID的情況
select i的ntity(int,1,1) as id,* into #temp from tabel 的lect # where id not in ( select max(id) from # group by col1,col2,col3...) 的lect table inset into table(...) select ..... from #temp
col1+','+col2+','...col5 聯(lián)合主鍵
select * from table where col1+','+col2+','...col5 in ( select max(col1+','+col2+','...col5) from table where having count(*)>1 group by col1,col2,col
三,col4 ) group by 子句后跟的字段就是你用來判斷重復(fù)的條件,如只有col1,那么只要col1字段內(nèi)容相同即表示記錄相同。
四.
select distinct * into #temp from tablename 的lete tablename go insert tablename select * from #temp Sqlclub go drop table #temp
五.
select i的ntity(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...)
上面我們所總結(jié)的物種方法全部包含了在SQL語句中經(jīng)常遇到的需要刪除重復(fù)行的使用辦法,這些對于你們關(guān)于不同情況的重復(fù)行都有了一個(gè)很好的理解。
【看看這篇文章在百度的收錄情況】