SQL平均分组结果组

时间:2015-03-12 13:37:33

标签: sql sql-server

我正在执行以下查询以获取按周分组的预订计数。

SELECT 
  Count([Id]) as Sessions
  FROM [RitualDB].[dbo].[SessionBooking]
  Where MemberId = 1
  Group by DATEPART(WEEK, Date)

这会给我一组很好的结果。我想要做的是得到所有这些结果的平均值。我试过了

SELECT 
  AVG(Count([Id])) as average
  FROM [RitualDB].[dbo].[SessionBooking]
  Where MemberId = 1
  Group by DATEPART(WEEK, Date)

但是我收到以下错误:

  

无法对包含聚合或子查询的表达式执行聚合函数。

有人可以给我一个指向正确方向的指针。

1 个答案:

答案 0 :(得分:4)

使用子查询:

SELECT AVG(Sessions)
FROM(
    SELECT 
        Count([Id]) AS SESSIONS
    FROM [RitualDB].[dbo].[SessionBooking]
    WHERE MemberId = 1
    Group BY DATEPART(WEEK, Date)
)t