在SQL Server中进行选择时,如何获取一次选择的计数

在SQL Server中进行选择时,如何获取一次选择的计数,sql,sql-server,select,count,Sql,Sql Server,Select,Count,我有一个大的选择,有许多内部连接和左连接,选择要选择,如: SELECT ( ... ) ORDER BY Price 问题是select的计数我必须再次运行此select吗 SELECT COUNT( ... ) ORDER BY Price 有没有简单的方法可以运行一次并获得选择的结果和选择的计数 以下是我的实体框架C代码: string strQuery = "...."; IQueryable<ProductDto>

我有一个大的选择,有许多内部连接和左连接,选择要选择,如:

SELECT 
    ( ... ) 
ORDER BY 
    Price 
问题是select的计数我必须再次运行此select吗

SELECT    
    COUNT( ... )  
ORDER BY 
    Price 
有没有简单的方法可以运行一次并获得选择的结果和选择的计数

以下是我的实体框架C代码:

string strQuery = "....";

IQueryable<ProductDto> list = _entities.Database.SqlQuery<ProductDto>(strQuery).AsQueryable();
可以使用select@@rowcount获取上一条语句选择的行数作为第二个结果集,也可以使用SET@myOutputVar=@@rowcount将其作为存储过程的输出参数

这里有一些关于StackOverflow的Q/A也可能会有所帮助

是,您可以尝试选择@@rowcount。它返回受上一条语句影响的行数。如果行数超过20亿,请使用ROWCOUNT\u BIG


你能在我的问题上显示出来吗,我不明白it@dan-如何执行select?它是存储过程吗?它是从.NET代码中调用的吗?@dan-你见过这个吗: