sqlserver去除重複列 行

2021-09-30 12:02:07 字數 672 閱讀 7433

最近做乙個資料庫的資料匯入功能,發現聯合主鍵約束導致不能匯入,原因是源表中有重複資料,但是源表中又沒有主鍵,很是麻煩。經過努力終於解決了,現在就來和大家分享一下,有更好的辦法的可以相互交流。

有重複資料主要有一下幾種情況:

1.存在兩條完全相同的紀錄

這是最簡單的一種情況,用關鍵字distinct就可以去掉

example: select distinct * from table(表名) where (條件)

2.存在部分字段相同的紀錄(有主鍵id即唯一鍵)

如果是這種情況的話用distinct是過濾不了的,這就要用到主鍵id的唯一性特點及group by分組

example:

select * from table where id in (select max(id) from table group by [去除重複的欄位名列表,....])

3.沒有唯一鍵id

example:

select identity(int1,1) as id,* into newtable(臨時表) from table

select * from newtable where id in (select max(id) from newtable group by [去除重複的欄位名列表,....])

drop table newtable

sqlserver 去除 重複列 行

有重複資料主要有一下幾種情況 1.存在兩條完全相同的紀錄 這是最簡單的一種情況,用關鍵字distinct就可以去掉 example select distinct from table 表名 where 條件 2.存在部分字段相同的紀錄 有主鍵id即唯一鍵 如果是這種情況的話用distinct是過濾...

sql 去除重複列(行)

最近做乙個資料庫的資料匯入功能,發現聯合主鍵約束導致不能匯入,原因是源表中有重複資料,但是源表中又沒有主鍵,很是麻煩。經過努力終於解決了,現在就來和大家分享一下,有更好的辦法的可以相互交流。有重複資料主要有一下幾種情況 1.存在兩條完全相同的紀錄 這是最簡單的一種情況,用關鍵字distinct就可以...

sql去除重複列(行)

最近做乙個資料庫的資料匯入功能,發現聯合主鍵約束導致不能匯入,原因是源表中有重複資料,但是源表中又沒有主鍵,很是麻煩。經過努力終於解決了,現在就來和大家分享一下,有更好的辦法的可以相互交流。有重複資料主要有一下幾種情況 1.存在兩條完全相同的紀錄 這是最簡單的一種情況,用關鍵字distinct就可以...