2
  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 查询吗?

4

6 回答 6

3

您可以count在查询中使用

select count(*) as row_count
from your_table ua
where ua.IsActive = 1
于 2012-09-22T11:36:32.243 回答
1

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

对于另一种查询方法:

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

于 2012-09-22T11:36:52.457 回答
0

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

SQlOperation(Query);

我们无法确定您使用的是什么。

如果您使用数据表,它在

dt.rows.count();

如果您使用的是数据阅读器,则在循环浏览记录时您自己计算它。

我假设您的意图不是单独调用计数。

于 2012-09-23T16:44:35.097 回答
0

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

string CountQuery = @"
    SELECT COUNT(*)
    FROM
    (
        {0}
    ) x
".Format(Query);
于 2012-09-22T13:46:29.090 回答
0

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

SELECT ua.COL_NAME,
(SELECT COUNT(*) FROM your_table) as count
FROM your_table ua
WHERE ua.IsActive = 1;
于 2012-09-22T11:38:13.000 回答
0

您可以按如下方式更改您的 SQL 语句:

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

那么你也会有计数。但你为什么要这个?

于 2012-09-22T11:38:51.400 回答