我想搞一个向下对结果集进行翻页的存储过程,使用select语句的limit进行分页,每页显示20条记录,
首先我要获得这个select语句中的所有记录个数,注意是所有记录个数,而不是当前经过limit以后返回的,然后我要获得经过limit以后select返回的结果集,于是这个存储过程就必须返回一个结果集和一个变量,但是我如何让应用程序只通过一条SQL语句就获取到这两个结果呢。
如果把不经过limit的select count(*)的结果作为一个字段加进经过limit的select语句里,那么不就产生了一大堆的相同值的冗余数据了吗,如果我不是每页显示20条记录而是显示很多的话,这个冗余就很大了,但是如果要使用两次SQL语句获取这两个值的话就失去了使用存储过程的意义了。
我对存储过程理解还不深,有什么好方法吗,多谢了。
首先我要获得这个select语句中的所有记录个数,注意是所有记录个数,而不是当前经过limit以后返回的,然后我要获得经过limit以后select返回的结果集,于是这个存储过程就必须返回一个结果集和一个变量,但是我如何让应用程序只通过一条SQL语句就获取到这两个结果呢。
如果把不经过limit的select count(*)的结果作为一个字段加进经过limit的select语句里,那么不就产生了一大堆的相同值的冗余数据了吗,如果我不是每页显示20条记录而是显示很多的话,这个冗余就很大了,但是如果要使用两次SQL语句获取这两个值的话就失去了使用存储过程的意义了。
我对存储过程理解还不深,有什么好方法吗,多谢了。
解决方案 »
- mysql中关于limit查询(急)
- 请问能否在select中调用存储过程?
- mysql 联接与子查询的效率哪一个高?
- 繁荣的MYSQL版。暨统计你现在用的MYSQL是哪个版本?
- 查询指定值的指定条记录
- mysql 死锁?
- delphi有没有好的支持mysql的控件
- mysql中mysql_stmt_fetch返回值MYSQL_DATA_TRUNCATED的问题
- 如何在linux shell中调用mysql客户端运行服务端带有参数的存储过程?
- 杭州博讯软件有限公司招聘PHP+MYSQL 程序员
- 我想在64位的ubuntu系统上安装一个带federated引擎的5.1.46版本的Mysql,该下载哪个版本?怎么安装?
- 请教,一个统计问题
call proc1(@a)
select @a与其这样,还不如直接先select count(*), 再取分页结果集
这样就能获取到存储过程返回的记录集了。select @A
这样就得到记录总条数了。