gpt4 book ai didi

SQL Server GROUP BY 困境

转载 作者:行者123 更新时间:2023-12-02 07:44:17 28 4
gpt4 key购买 nike

我有一个表,其中的行包含名为 MySubId 的列。此列中的值可以重复。我想找到 MySubId 值和出现次数最多的 MySubId 值的行数。

我有以下查询:

SELECT MySubId, COUNT(MySubId) AS MySubIdCount
FROM MyTable
GROUP BY MySubId
HAVING COUNT(MySubId)=MAX(COUNT(MySubId))

但是我得到了错误:

Msg 130, Level 15, State 1, Line 4 Cannot perform an aggregate function on an expression containing an aggregate or a subquery.

用一个简单的查询不可能做到这一点吗?在 HAVING 子句中使用它之前,我必须嵌入一个子查询来计算 MAX 吗?

更新:

我看到很多答案使用TOP 1过滤结果集,所以我是否假设没有办法使用MAX函数来过滤这个仅查询最大出现的 MySubId 值?

最佳答案

select top 1 with ties MySubId, Count(MySubId) as MySubIdCount
from MyTable
group by MuSubId
order by 2 desc

关于SQL Server GROUP BY 困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8157912/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com