【问题标题】:How can I get count of one select during selecting in SQL Server在 SQL Server 中选择期间如何获得一个选择的计数
【发布时间】:2016-07-25 08:36:35
【问题描述】:

我有一个很大的选择,里面有很多内连接和左连接,然后选择像这样选择:

SELECT 
    ( ... ) 
ORDER BY 
    Price 

问题是我必须再次运行这个选择吗?

SELECT    
    COUNT( ... )  
ORDER BY 
    Price 

有没有简单的方法可以运行一次并获得选择的结果和选择的计数?

这是我使用实体框架的 C# 代码:

string strQuery = "....";

IQueryable<ProductDto> list = _entities.Database.SqlQuery<ProductDto>(strQuery).AsQueryable();

【问题讨论】:

    标签: sql sql-server select count


    【解决方案1】:

    您可以使用select @@rowcount 获取上一条语句选择的行数作为第二个结果集,或者使用SET @myOutputVar = @@ROWCOUNT 作为存储过程的输出参数。

    StackOverflow 上的一些问答也可能有所帮助

    【讨论】:

    • 你能在我的查询中显示吗,我没听懂
    • @dan - 你如何执行你的select 它是一个存储过程吗?它是从 .NET 代码中调用的吗?
    • @dan - 你看到了吗:CountAsync()
    【解决方案2】:

    是的,你可以试试select @@rowcount。它返回受最后一条语句影响的行数。如果行数超过20亿,使用ROWCOUNT_BIG

    https://msdn.microsoft.com/en-IN/library/ms187316.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-09
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-12
      • 1970-01-01
      • 2020-09-02
      相关资源
      最近更新 更多