如何使用SQL分页?

redv 2002-11-22 05:26:11
我在这里搜索了一下,没有发现可以用SQL分页的。
他们的分页都是用SQL选择出所有的记录(在这里一些记录在这一页是没有用的记录)
这浪费了服务器内存和DBMS的执行效率,我想知道如何在SQLServer或者其他的数据库中,就是说标准的SQL3中是否可以实现像在MYSQL中的 LIMIT 语句的功能。
...全文
43 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_2001 2002-12-02
  • 打赏
  • 举报
回复
gz
redv 2002-12-02
  • 打赏
  • 举报
回复
这个NOT IN是很耗数据库服务器资源的。如果数据量大了,就受不了了。
不过我的老师最近发现在Interbase数据库中可以使用ROW来搞定。
不知道,这个是不是值得考虑。
yaray 2002-11-23
  • 打赏
  • 举报
回复
winding的方法最简单,但这样会加重网络和数据库的负载,这要看你怎么取舍了
hjhing 2002-11-22
  • 打赏
  • 举报
回复
我觉得记录分页应该在sql中就实现
然后将用户要的那一页的数据从sql服务器传过来即可
而不是将所有数据都先传过来再在界面中分页
这样数据多的话性能会太差

你只要调用以下sql语句即可实现在sql中返回你要的那一页的数据
假如你要的是每页10条,现在显示第5页
select top 10 * from yourTable where indexID not in
(select top 40 indexID from yourTable)
即可
(index 为可标志记录唯一性的列)

其它界面上的控制就很好做了
redv 2002-11-22
  • 打赏
  • 举报
回复
谢谢,有不同的方法的请继续。
zxhong 2002-11-22
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1064/1064726.xml?temp=.2898523

81,116

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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