获得查询结果的平均值

gru*_*ber 2 sql sql-server-2008

我有这样的查询:

select distinct UserID, Count(UserId) as MyNumber from  dbo.User2User group by UserId
Run Code Online (Sandbox Code Playgroud)

现在我想扩展此查询以获取MyNumber的MIN,MAX和AVG

不知道如何从另一个选择或sth获得此值...

感谢帮助

Vin*_*ard 5

您可以将自己的查询用作子查询:

SELECT MIN(MyNumber) AS minNumber, MAX(MyNumber) AS maxNumber, AVG(myNumber) AS avgNumber
FROM (SELECT UserID, COUNT(UserID) AS MyNumber
      FROM dbo.User2User
      GROUP BY UserID) TMP;
Run Code Online (Sandbox Code Playgroud)

请注意,DISTINCT关键字不是必需的:GROUP BY已经选择了不同的UserID.