目前我需要运行两个查询来获取我的结果集中的项目总数以及结果集。是否有可能只获得结果集计数以及一次传递给数据库的结果集。我正在尝试优化我的代码,这样我就不必两次访问数据库,因为这些单独的选择语句已经需要几分钟才能运行。我正在寻找 oracle sql 和 ms sql 中的解决方案,因为我同时使用两者。我还使用 Microsoft 的 Oracle 访问库来访问 Oracle 数据库,而不是 Oracle 访问库。
最佳答案
根据您的 Oracle 版本,您可以使用分析函数 count() 返回包含总行数的列。
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions032.htm#i82697
select a.*,
count(*) over() totalRows
from table1 a;
关于c# - 可以通过查询结果获取结果集行数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1639109/