oracle获取查询数据的同时能不能获得总的记录数

zw520lbzw520lb 2017-04-16 09:55:24
是这样的,我有一个存储过程,根据用户的查询条件,会查询出1列或多列的数据(列可以是表的实际的列,也可以是计算出来的表中不存在的特殊的列),每次根据不同的查询条件,查询出的总的记录数可能不同。

然后我页面上有个label会显示出每次查询出来的总记录数,因为如果查询条件比较多的时候,执行存储过程会需要十几秒,
现在我的查询一个执行的是一个存储过程A,显示总的记录数的又是另外一个存储过程B,A和B执行都需要好几秒甚至十几秒,
B这个存储过程的逻辑跟A基本上差不多,去掉了排序这种条件,稍微精简了些,目的只是为了获取总的Count数。

先不管A存储过程为什么需要十几秒吧,我想问的是有没有办法在A这个存储过程里,选出匹配的记录的同时,又能获取
总的记录数,当然我的意思是获取总记录数的办法不能是同样的Sql再执行一次,因为那样和执行两个存储过程的时间差不多了。

...全文
650 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
壹四 2017-04-19
  • 打赏
  • 举报
回复
记录数用count
卖水果的net 2017-04-17
  • 打赏
  • 举报
回复
select id,name,count() over() from t
qq_28538637 2017-04-17
  • 打赏
  • 举报
回复
加个count()

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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