-1
我在表中有大约一百万行数据。我想删除最后3行中的每5行。通过查询删除SQL中的行
例子:
Row1
Row2
Row3
Row4
Row5
Row6
Row7
Row8
Row9
Row10
之后,我删除它们就应该是这样的:
Row1
Row2
Row6
Row7
我会怎样做呢?
我在表中有大约一百万行数据。我想删除最后3行中的每5行。通过查询删除SQL中的行
例子:
Row1
Row2
Row3
Row4
Row5
Row6
Row7
Row8
Row9
Row10
之后,我删除它们就应该是这样的:
Row1
Row2
Row6
Row7
我会怎样做呢?
这应该这样做,但您需要指定order by
中的某一列。 而且应该有其他一些规则来删除这些记录。
DROP TABLE _test
GO
create table _test
(id int identity(1,1)
,x int
)
GO
insert into _test(x)
select 1
go 50
;with cte as (
select [rwn] = row_number() over(partition by 1 order by id)
from _test
)
delete from cte
where 1=1
and rwn%5 not in (1,2)
select * from _test
使用此语句。它是作品
delete from temp12 where Reg_No in (select Reg_No from
(select Reg_No,Name, Row_number() over (order by reg_no) abc from temp12)
where abc like '%3' or abc like '%4' or abc like '%5' or abc like '%8' or abc like '%9' or abc like '%0')