declare @sql varchar(8000) declare @Cnt intset @Cnt = (页数-1)* 5 set @sql = 'select top 5 * from tablename where id not in (select top '+str(@Cnt)+' id from tablename order by id) order by id 'exec(@sql)
create table ta(id int) id ----------- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16declare @页 int,@记录 int,@a int,@sql varchar(101) set @记录=5 set @页=4---在这里输入页数就行了 set @a=(@页-1)*@记录 if @页!>1 exec('select top '+@记录 +' id from ta ') else exec('select top '+@记录+' id from ta where id not in(select top '+@a+' id from ta)') 结果为: id ----------- 16
declare @Cnt intset @Cnt = (页数-1)* 5
set @sql = 'select top 5 * from tablename where id not in (select top '+str(@Cnt)+' id from tablename order by id) order by id 'exec(@sql)
id
-----------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16declare @页 int,@记录 int,@a int,@sql varchar(101)
set @记录=5
set @页=4---在这里输入页数就行了
set @a=(@页-1)*@记录
if @页!>1
exec('select top '+@记录 +' id from ta ')
else
exec('select top '+@记录+' id from ta where id not in(select top '+@a+' id from ta)')
结果为:
id
-----------
16