相关疑难解决方法(0)

SQL Server:如何在没有GROUPing的情况下使用COUNT子句?

考虑到一组约束,我正在寻找查询中的两件事:

  • 第一场比赛
  • 比赛总数

我可以得到第一场比赛:

SELECT TOP 1
    ID,
    ReportYear,
    Name,
    SignDate,
     ... 
FROM Table
WHERE
     ...
ORDER BY ... //I can put in here which one I want to take
Run Code Online (Sandbox Code Playgroud)

然后,如果我使用,我可以获得匹配计数

SELECT
    MIN(ID),
    MIN(ReportYear),
    MIN(Name),
    MIN(SignDate),
     ... ,
    COUNT(*) as MatchCount
FROM Table
WHERE
     ...
GROUP BY
     ??? // I don't really want any grouping
Run Code Online (Sandbox Code Playgroud)

我真的想避免在我的所有结果上分组和使用聚合函数.这个问题SQL Server选择COUNT而不使用聚合函数或group by建议答案是

SELECT TOP 1
    ID,
    ReportYear,
    Name,
    SignDate,
     ... ,
    @@ROWCOUNT as MatchCount
FROM Table
Run Code Online (Sandbox Code Playgroud)

这可以在没有TOP 1的情况下工作,但是当它在那里时,@@ ROWCOUNT =返回的行数,即1.如何在不进行任何分组的情况下基本上获得COUNT(*)的输出(在where子句之后留下的任何内容)需要聚合所有列?

我不想做的是重复这两次,一次为第一行,然后再为@@ ROWCOUNT.我没有找到一种方法可以正确使用GROUP …

sql group-by count

1
推荐指数
2
解决办法
1万
查看次数

标签 统计

count ×1

group-by ×1

sql ×1