34,576
社区成员
发帖
与我相关
我的任务
分享
drop table TableA
create table TableA(f1 int,f2 varchar(10))
go
insert TableA values(1,'abc')
insert TableA values(1,'abc')
insert TableA values(1,'abc')
insert TableA values(2,'abcd')
insert TableA values(2,'abcd')
insert TableA values(3,'xxxx')
go
with cte as
(
select *,row=row_number() over(partition by f1 order by getdate()) from TableA
)
delete cte where row>1
select * from TableA
/*
f1 f2
----------- ----------
1 abc
2 abcd
3 xxxx
(3 行受影响)
*/
create table TableA(f1 int,f2 varchar(10))
go
insert TableA values(1,'abc')
insert TableA values(1,'abc')
insert TableA values(1,'abc')
insert TableA values(2,'abcd')
insert TableA values(2,'abcd')
insert TableA values(3,'xxxx')
go
;with t as
(
select row_number() over(partition by f1 order by f2) as id, * from TableA
)
delete from t where id>1
select* from TableA
/*
f1 f2
----------- ----------
1 abc
2 abcd
3 xxxx
(3 行受影响)
*/