SQL刪除重複資料

2022-09-05 02:06:09 字數 630 閱讀 8583

這個應用場景也不多說了

with c as

(select orderid,row_number() over(partition by orderid order

by (select

null)) as

nfrom

sales.myorders

)delete

from c where n>

1

利用row_number()跟rank()也可以,

row_number函式返回乙個唯一的值,當碰到相同資料時,排名按照記錄集中記錄的順序依次遞增。 

rank函式返回乙個唯一的值,除非遇到相同的資料時,此時所有相同資料的排名是一樣的,同時會在最後一條相同記錄和下一條不同記錄的排名之間空出排名。

with c as

(select orderid,row_number() over(order

by orderid) as rownum,rank() over(order

by orderid) as

rnkfrom

sales.orders

)delete

from c where rownum<>rnk

sql刪除重複資料

1 建立表 create table dbo test id numeric 18,0 identity 1,1 not null primary key,name varchar 200 collate chinese prc ci as null remark varchar 1024 coll...

sql刪除重複資料

sql刪除重複資料 如果該錶需要刪除重複的記錄 重覆記錄保留1條 可以按以下方法刪除 select distinct into tmp from tablename drop table tablename select into tablename from tmp drop table tmp ...

sql 刪除重複資料語句

現在有表資料如下圖1 需要刪除表中除id外重複的資料,實現如下圖所示效果圖2 篩選根據name,value分組後id最大的非重複資料 select max id from deleterepeat group by name value 下面是實現效果圖2 的語句 delete from delet...