34,838
社区成员




--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[other] nvarchar(21))
Insert #T
select 10,N'a' union all
select 22,N'b' union all
select 35,N'c'union all
select 42,N'b' union all
select 55,N'c'union all
select 62,N'b' union all
select 75,N'c'union all
select 82,N'b' union all
select 95,N'c'union all
select 105,N'c'
Go
--测试数据结束
DECLARE @maxnum INT;
SELECT @maxnum = MAX(num)
FROM ( SELECT * ,
ROW_NUMBER() OVER ( ORDER BY id ) AS num
FROM #T
) t
SELECT *
FROM ( SELECT * ,
ROW_NUMBER() OVER ( ORDER BY id ) AS num
FROM #T
) t
WHERE t.num BETWEEN @maxnum * 0.7 AND @maxnum * 0.8
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[other] nvarchar(21))
Insert #T
select 10,N'a' union all
select 22,N'b' union all
select 35,N'c'
Go
--测试数据结束
Select *,ROW_NUMBER()OVER(ORDER BY id) AS num from #T