Sql 数据集中每天的平均条目数

Sql 数据集中每天的平均条目数,sql,tsql,Sql,Tsql,我有下表 Name|Date |Activity Ann |2016-01-01|Sleep Ann |2016-01-01|Walk Pete|2016-01-01|Sleep Pete|2016-01-01|Walk Pete|2016-01-01|Swim 这张桌子放了整整一年,供100多人使用。我想得到每个人的平均活动量。像 Ann |3.3, Pete|4.2 也就是说,安在数据集时间范围内每天做3.3项活动 我尝试过的是 Select count(Date), Na

我有下表

Name|Date      |Activity
Ann |2016-01-01|Sleep
Ann |2016-01-01|Walk
Pete|2016-01-01|Sleep
Pete|2016-01-01|Walk
Pete|2016-01-01|Swim
这张桌子放了整整一年,供100多人使用。我想得到每个人的平均活动量。像

Ann |3.3, 
Pete|4.2 
也就是说,安在数据集时间范围内每天做3.3项活动

我尝试过的是

Select count(Date), Name from table
group by date, name

但是当我运行这个程序时,每个名字都会有多个条目。有人能帮我完成这个查询吗?

使用以下查询:

  SELECT Name, [Date], COUNT(*) AS cnt
  FROM mytable
  GROUP BY Name, [Date]
你可以得到每个人每天的活动数量。您可以将上述内容包装在子查询中并应用
AVG
,以获得每个人的平均活动数量:

SELECT Name, AVG(cnt*1.0)
FROM (
  SELECT Name, [Date], COUNT(*) AS cnt
  FROM mytable
  GROUP BY Name, [Date]) AS t
GROUP BY t.Name