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

时间:2016-07-21 07:55:13

标签: 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 

表示Ann在数据集时间范围内每天进行3.3次活动。

我尝试过的是

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

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

1 个答案:

答案 0 :(得分:1)

使用以下查询:

  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