22,209
社区成员
发帖
与我相关
我的任务
分享
ALTER PROCEDURE sArticle
@currentPage int
AS
declare @sql1 varchar(250)
declare @sql2 varchar(250)
set @sql1 ='select top 20 ID,Topic,Author,AddTime,ViewNum from Article order by ID desc'
set @sql2 ='select top 20 ID,Topic,Author,AddTime,ViewNum from Article where ID not in (select top (@currentPage-1)*20 ID from Article order by ID desc) order by ID desc'
if (@currentPage=1)
execute (@sql1)
else
execute (@sql2)
CREATE PROCEDURE sArticle
@currentPage int
AS
declare @sql1 varchar(250)
declare @sql2 varchar(250)
declare @sPage varchar(250)
set @sPage = convert(varchar(250),(@currentPage-1)*20)
set @sql1 ='select top 20 ID,Topic,Author,AddTime,ViewNum from Article order by ID desc'
set @sql2 ='select top 20 ID,Topic,Author,AddTime,ViewNum from Article where ID not in (select top ' + @sPage + ' ID from SundyArticle order by ID desc) order by ID desc'
if (@currentPage=1)
execute (@sql1)
else
execute (@sql2)
create table tb(id int,name varchar(20))
insert into tb select 1,'a'
insert into tb select 2,'b'
insert into tb select 3,'c'
insert into tb select 4,'d'
insert into tb select 5,'e'
insert into tb select 6,'f'
insert into tb select 7,'g'
insert into tb select 8,'h'
insert into tb select 9,'h'
insert into tb select 10,'h'
declare @sql nvarchar(250)
declare @currentPage int
set @currentPage=3
set @sql ='select top 5 * from tb where id not in (select top ((@currentPage-1)*2) id from tb order by id desc) order by id desc'
exec sp_executesql @sql,N'@currentPage int',@currentPage
--不在 (3-1)*2 =4(7,8,9,10)的id 倒序的前5个
id name
6 f
5 e
4 d
3 c
2 b
ALTER PROCEDURE sArticle
@currentPage int
AS
declare @sql1 nvarchar(250)
declare @sql2 nvarchar(250)
set @sql1 ='select top 20 ID,Topic,Author,AddTime,ViewNum from Article order by ID desc'
set @sql2 ='select top 20 ID,Topic,Author,AddTime,ViewNum from Article where ID not in (select top ((@currentPage-1)*20) ID from Article order by ID desc) order by ID desc'
if (@currentPage=1)
execute (@sql1)
else
exec sp_executesql @sql2,N'@currentPage int',@currentPage
ALTER PROCEDURE sArticle
@currentPage int
AS
declare @sql1 nvarchar(250)
declare @sql2 nvarchar(250)
set @sql1 ='select top 20 ID,Topic,Author,AddTime,ViewNum from Article order by ID desc'
set @sql2 ='select top 20 ID,Topic,Author,AddTime,ViewNum from Article where ID not in (select top (@currentPage-1)*20 ID from Article order by ID desc) order by ID desc'
if (@currentPage=1)
execute (@sql1)
else
exec sp_executesql @sql2,N'@currentPage int',@currentPage
select top 20 ID,Topic,Author,AddTime,ViewNum from Article where ID not in (select top (@currentPage-1)*20 ID from Article order by ID desc) order by ID desc