我需要得到查询的数量。我是否需要编写另一个SQL查询

时间:2012-09-22 11:32:36

标签: c# sql

  public void KT1_Sprint3_GetGroupList()
    {
        string Query = 
                "SELECT name,alias,emailAdd FROM dbo.UserAccountDetailsList ua
                 WITH (NOLOCK) INNER JOIN dbo.UserTestType ut WITH (NOLOCK) ON
                 ua.UserTestTypeId = ut.UserTestTypeID WHERE ut.Code in 
                 ('Distribution','TestGroup') and ua.IsActive = 1";

        SQlOperation(Query);

        ??????
    }

我需要了解查询次数。我需要编写另一个SQL查询吗?

6 个答案:

答案 0 :(得分:3)

您可以在查询中使用count

select count(*) as row_count
from your_table ua
where ua.IsActive = 1

答案 1 :(得分:1)

您想要返回的行数吗?循环ResultSet时,可以在代码中递增计数器。

用于另一种查询方法:

SELECT COUNT(*) FROM table AS ua WHERE ua.IsActive=1

答案 2 :(得分:0)

此查询将为您提供行计数+所需行数。

SELECT ua.COL_NAME,
(SELECT COUNT(*) FROM your_table) as count
FROM your_table ua
WHERE ua.IsActive = 1;

答案 3 :(得分:0)

您可以更改您的SQL语句,如下所示:

SELECT Name, 
   (SELECT COUNT(*) FROM Table) AS count
FROM Table WHERE Status='URGENT';

然后你也算得上了。但是你为什么要这样呢?

答案 4 :(得分:0)

如果要在需要计数之前执行Query,只需检查返回的DataTable中的行数。如果你想对计数进行单独的查询,那么在不重复查询中的所有SQL逻辑的情况下执行此操作的一种方法是:

string CountQuery = @"
    SELECT COUNT(*)
    FROM
    (
        {0}
    ) x
".Format(Query);

答案 5 :(得分:0)

由于您封装了实际的SQL调用。

SQlOperation(Query);

我们无法确切地告诉您使用了什么。

如果你使用了数据表,那就在

dt.rows.count();

如果您使用的是数据加载器,则在循环记录时自行计算。

我认为你的意图不是单独调用计数。