SQL分页查询出问题

buyue__ 2011-10-06 10:13:06
declare @pageSize int=15
declare @FootPage int=(select COUNT(*) from [职员基本信息表])/15
exec select top (@pageSize) * from [职员基本信息表] where ID not in (select top (@pageSize*@FootPage) * from [职员基本信息表])


pageSize是一页显示的信息数,每页显示15条信息
FootPage是尾页

我想查询尾页的信息
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
geniuswjt 2011-10-06
  • 打赏
  • 举报
回复

--你@pageSize*@FootPage不就是所有记录了吗?再not in还能有记录吗?
exec select top (@pageSize) * from [职员基本信息表]
where ID not in (select top ((@pageSize-1)*@FootPage) * from [职员基本信息表])
wanglingzhong 2011-10-06
  • 打赏
  • 举报
回复
建议楼主:
1. 最好查下分页相关的知识,如何实现
2. 你的SQL语句的语法都不对哦 IN 和 Exists 的使用再熟悉下吧
ijwsoft 2011-10-06
  • 打赏
  • 举报
回复
查询尾页的信息

declare @iPageSize int
SET @iPageSize =20
declare @iCurrentPage int
SET @iCurrentPage =1

declare @iTotalPageCount int
select @iTotalPageCount= count(1)/@iPageSize FROM tblDiary
set @iCurrentPage=@iTotalPageCount

declare @sSql varchar(4000)
SET @sSql=
'Select Top ' + convert(varchar,@iPageSize) + ' * from tblDiary where DiaryID
not in
(
select top ' + convert(varchar,@iPageSize * @iCurrentPage) + ' DiaryID from tblDiary order by DiaryID asc
) order by DiaryID asc'

--PRINT @sSql

exec(@sSql)

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧