用SQL怎么样取得表中某一范围的记录

linzhengqun 2004-11-01 02:35:15
比如有一张表,我想取得他第10条到第20条的记录
应该怎么样写呢
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
铁歌 2004-11-01
  • 打赏
  • 举报
回复
给你一个分页STORE PROCEDURE
铁拳 2004-11-01
  • 打赏
  • 举报
回复
针对这种要求做一个分页显示就可以了,我这里已经有现成的存储过程,后面有调用示例,请见:
http://blog.csdn.net/sun_jianhua/archive/2004/07/04/33574.aspx
chinaandys 2004-11-01
  • 打赏
  • 举报
回复
查询第X页,每页Y条记录
venket 2004-11-01
  • 打赏
  • 举报
回复
对啊!!!
太榜了!
我想请问以下
y的作用到底是什么 ?
zjcxc 元老 2004-11-01
  • 打赏
  • 举报
回复
查询第X页,每页Y条记录

最基本的处理方法(原理):

如果表中有主键(记录不重复的字段也可以),可以用类似下面的方法,当然y,(x-1)*y要换成具体的数字,不能用变量:

select top y * from 表 where 主键 not in(select top (x-1)*y 主键 from 表)



如果表中无主键,可以用临时表,加标识字段解决.这里的x,y可以用变量.

select id=identity(int,1,1),* into #tb from 表
select * from #tb where id between (x-1)*y and x*y-1

Andy__Huang 2004-11-01
  • 打赏
  • 举报
回复
select top 11 * from tb where id not in(select top 9 id from tb)

如果id主鍵是連續的
select * from tb where id between 10 and 20

34,593

社区成员

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

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