这样的查询在SQL Server中能实现吗?如何做?

hyjlzzl 2006-01-08 04:39:18
在Mysql数据库中可以在select语句中通过limit子句以“limit 偏移值,行数”或“limit 行数 offset 偏移值”的形式要求返回行集中特定位置的若干行。这一点在实现网页中信息的分页显示时非常实用。例如:假定新闻系统中约定每页显示十条新闻的标题信息,当需要显示第五页时,我就可以用如下Select语句取得信息:
  select * from news order by submittime limit 10*(5-1),10。
  目前用ASP实现信息分页显示时普遍采用先将所有行从数据库服务器读取到Web数据库再用记录集相关属性与方法进行分页,对于海量的处理效率会很低。
  在SQL Server中用T-SQL真的没有办法吗?
...全文
64 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyjlzzl 2006-01-09
  • 打赏
  • 举报
回复
不好意思,应该是dutguoyi兄弟。我的意思是对于海量数据来说,这样做的效率并不会比目前最传统的分页方式高多少!
hyjlzzl 2006-01-09
  • 打赏
  • 举报
回复
首先谢谢dutguoye兄弟!不过,要是这样的话,如果我的表中符合要求的记录有一万行,现在要取最后十行,我岂不得先取出前9990行的ID后才能取最后十行信息?
新鲜鱼排 2006-01-08
  • 打赏
  • 举报
回复
select top 10 id from table1
where id not in (
select top 10 id from table1 order by id)
order by id
这样不就是选出11到20条数据么??

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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