最近用mysql + asp.net来写网站,既然mysql已经支持存储过程了,那么像分页这么常用的东西,当然要用存储过程啦

  不过在网上找了一些,发现都有一个特点——就是不能传出总记录数,干脆自己研究吧。终于,算是搞出来了,效率可能不是很好,但是我也觉得不错了。贴代码吧直接:也算是对自己学习mysql的一个记录。


  CREATE PROCEDURE p_pageList 
  ( 
  m_pageNo int , 
  m_perPageCnt int , 
  m_column varchar(1000) , 
  m_table varchar(1000) , 
  m_condition varchar(1000), 
  m_orderBy varchar(200) , 
  out m_totalPageCnt int 
  ) 
  BEGIN 
  SET @pageCnt = 1; -- 总记录数 
  SET @limitStart = (m_pageNo - 1)*m_perPageCnt; 
  SET @limitEnd = m_perPageCnt; 
  SET @sqlCnt = CONCAT('select count(1) into @pageCnt from ',m_table); -- 这条语句很关键,用来得到总数值 
  SET @sql = CONCAT('select ',m_column,' from ',m_table); 
  IF m_condition IS NOT NULL AND m_condition <> '' THEN 
  SET @sql = CONCAT(@sql,' where ',m_condition); 
  SET @sqlCnt = CONCAT(@sqlCnt,' where ',m_condition); 
  END IF; 
  IF m_orderBy IS NOT NULL AND m_orderBy <> '' THEN 
  SET @sql = CONCAT(@sql,' order by ',m_orderBy); 
  END IF; 
  SET @sql = CONCAT(@sql, ' limit ', @limitStart, ',', @limitEnd); 
  PREPARE s_cnt from @sqlCnt; 
  EXECUTE s_cnt; 
  DEALLOCATE PREPARE s_cnt; 
  SET m_totalPageCnt = @pageCnt; 
  PREPARE record from @sql; 
  EXECUTE record; 
  DEALLOCATE PREPARE record; 
  END

转载于:https://www.cnblogs.com/lp-zy/p/4362716.html

mysql的分页存储过程,能够传出总记录数相关推荐

  1. MySQL——查询数据库、数据表总记录数

    方法一  information_schema information_schema数据库是MySQL系统自带的数据库,它提供了数据库元数据的访问方式.information_schema就记录了数据 ...

  2. MySQL 百万级/千万级表 总记录数查询

    业务背景:基于 InnoDB 存储引擎的表,在数据量达到百万级之后,用 count 函数查询表记录总数会变得很慢,会导致服务请求超时.针对这种情况总结下我所想到的解决办法. 实际业务场景: 表名 表名 ...

  3. mysql存储过程查询结果分页并返回总记录数

    – 查询功能树数据 DROP PROCEDURE IF EXISTS FunctionGet_SP; create procedure FunctionGet_SP ( in PageIndex in ...

  4. ibatis3获得总记录数,同时计算数据分页?

    2019独角兽企业重金招聘Python工程师标准>>> mybatis 3 在DAO的同一个方法中,如何获得总记录数,然后计算分页再把结果集返回的.Hibernate是的可以实现的, ...

  5. mysql查询数据的总记录数

    mysql查询数据的总记录数 领导让获取数据库中的所有记录总数,网上查了一会,看到了很多都是不能执行,我这小性子安耐不住了,开始暴怒,最后的最后看下来应该缺少了一个关键字,还自以为是的想不知道是不是m ...

  6. mysql查询表总记录数_mysql_notes_查看表的总记录数count()

    查看数据库中表的总记录数 这里提供三种方法,前两种用于数据量比较大的表,查看表的大概总记录数结果(可能不是非常准确). 总记录数-查看数据库中表的状态 SELECT TABLE_NAME,TABLE_ ...

  7. 分页总数计算,根据总记录数获取分页总数_ZZGoals

    分页总数计算,根据总记录数获取分页总数,本文章提供5种写法,大家感觉哪个好用就拿去用吧. int pageSize = 20; //每页记录数量 int totalCount = 100005; // ...

  8. Hibernate DetachedCriteria方式分页查询返回总记录数

    最近在使用Hibernate进行分页查询的时候,发现Hibernate分页有一个瓶颈,就是只能访问查询对应的记录,并不能返回符合条件的总条数,网上给的很多策略都是再写一个方法,通过HQL查询总记录数, ...

  9. php输出查询mysql总数_PHP查询语句,如何返回总记录数??

    展开全部 PHP查询语句,e69da5e6ba903231313335323631343130323136353331333337626231有两种方法获得查询的总记录数. 一是使用mysql_num ...

  10. group count聚集函数无法直接统计出分组后的总记录数

    数据库Group By类型语句统计记录条数 最近做一个分页查询查询的数据采用了group by来完成数据的查询处理,需要统计分组后的数据总数发现count(*) 聚集函数无法直接统计出分组后的总记录数 ...

最新文章

  1. 1月11日学习内容整理:请求库selenium之选择器,等待元素被加载
  2. vb冒泡排序法流程图_VB算法-冒泡排序教案
  3. java5.0安装在x86,JDK 7U15在 Windows x86平台下的安装方法
  4. 机器学习到底能替人干哪些工作?《科学》列出了8条评估标准
  5. if else if else语句格式_if-else代码优化的八种方案
  6. 【机器学习】hist参数解读
  7. 2月7日 SVM线性回归逻辑回归
  8. SPSS说明附学习方法
  9. Aliplayer视频点播加密播放
  10. ecg 幅度_心电图(ECG或EKG)设计原理及实例应用
  11. 代码不规范,亲人两行泪——DTO
  12. h5跳转App以及URL Scheme获取-App协议列表
  13. gitee免费部署静态网站
  14. NtripShare OpenSource/NtripShare GNSS共享计划 -- JT808终端模拟器源码(四)
  15. 如何向面试官正确地提问?
  16. 人效提高350%,基于KICP搭建的营销套电客服机器人,让欧派家居赢在起点
  17. nested exception is org.apache.ibatis.builder.BuilderException: Error evaluating expression 异常
  18. 【BSV动态】VXPASS与世卫组织合作为莱索托提供数字疫苗监测服务
  19. java epson_无法与Epson POS打印机通信
  20. Vue 实现展开折叠效果

热门文章

  1. Oracle 忘记/修改密码
  2. java 图片线条_JAVA 关于JFrame的问题,我的图片会被线条给覆盖住,怎样让图片在上面呢...
  3. python 今日头条 控制手机_你知道Python脚本控制安卓手机可以用来做什么吗?
  4. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-7.授权登录获取微信用户个人信息实战...
  5. 阶段3 3.SpringMVC·_07.SSM整合案例_07.ssm整合之编写MyBatis框架测试保存的方法
  6. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第4节 模拟BS服务器案例_1_模拟BS服务器分析...
  7. SQL Where 字符串拼接
  8. Applet与NoClassDefFoundError那不为人知的故事[转]
  9. vue中使用echarts
  10. 配置RedisTemplate、JedisPoolConfig、JedisConnectionFactory+自定义序列化 (xml+java方式)+使用...