sql-server - 计算行数而不发出单独的计数

标签 sql-server t-sql sql-server-2005 count

我目前有两个单独的查询:

1) 根据各种过滤器返回实际结果集。

select a, b, c from TableA
where x = 123
and y = 'ABC'
and z = 999

2) 显示总行数。

select count(*) from TableA
where x = 123
and y = 'ABC'
and z = 999

所以简而言之,我运行相同的查询两次。我上面作为示例的查询比我使用多个联接和许多过滤器的查询要简单得多。

是否有更好的方法来实现相同的目标?

最佳答案

select a, b, c, count(*) over() as total
from dbo.TableA
where x = 123
and y = 'ABC'
and z = 999;

关于sql-server - 计算行数而不发出单独的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19937596/

相关文章:

sql-server - 对于特定范围,DBCC FREEPROCCACHE 和 DBCC DROPCLEANBUFFERS 相似

sql - 无法使用 pyodbc 将 Sqlalchemy 连接到 SQL Server 2000

t-sql - 使用 SQL Server 2012+ 和 T-SQL 将列转换为行

sql - SSMS - 在单个查询中查询多个服务器

sql - SQL-SSMS2005-如何将数据库图复制到另一个数据库?

sql-server-2005 - SQL 2005 Reporting Services 如果检查 null

sql - TSQL 计算多列中的出现次数

sql-server - 如何在 SQL Server 中结合水平和垂直分区

sql - 使用外部表时检索文件名

xml - TSQL 2005,XML DML - 一次更新两个值?