当前位置:求学网 > 你问我答 > 计算机培训 > 数据库开发

已过期

请教sql中有没有只取多少条记录的语句?

  • 悬赏积分 0      

请教sql中有没有只取多少条记录的语句?
问题是这样的:
根据条件,查询到有100条记录,但我不想一次过取出,例如只取第25至35条记录,有没有类似top(10)这样的语句?是在SQL查询语句中完成这个只取动作,而不是之后的编程语言。
我这样问,主要是用于分页的(ASP),原因很简单,查询出的记录实在太多。例如翻页到第10页的时候,我虽然可以用next 100(指针前进100条记录)然后用do until的方式只显示10条,即第100至110条记录。
但是这样做的话,不管是第1页还是第100页,SQL始终都将符合条件的所有记录都读取到内存中,这样如果查询出的数据超级多的话,就不可思议了。
所以请高手指教一二!

提问者:zhoujibode - 小学生
2008-10-29 14:51

答案 共2条

单纯用SQL查询语句是不能完成的吧,SQL查询语句只负责返回一个结果集,TOP(10)返回的也只是一个结果集。

关于分页显示需要编程语言来完成,大多是用一个变量或者实例存放SQL语句返回的结果集,然后用编程语言来移动游标指针、以及循环输出来实现分页显示,比如你只取第25至35条记录,首先用SQL语句查询返回一个结果集,然后移动游标指针到第25条记录,循环输出(每次输出一条记录后游标指针向下移动一次)10次到第35条记录就可以了。

  • 0
    赞成
  • 0
    反对

 

回答者:songjiawei - 小学生
2008-10-29 17:24

呵呵,使用TOP N 就可以实现只前N条记录,
也可以使用 TOP N percent 来取前N个百分比的记录
呵呵,希望能有帮助,^_^

  • 0
    赞成
  • 0
    反对

 

回答者:jianchi11 - 小学生
2008-10-29 17:26

上一个问题:一个素描问题! 下一个问题:戏曲唱腔体制大概划分为三大类是什么?

总积分排行

sun10851
积分:4782