如何在SQL中按天计算出现次数?

时间:2010-01-24 18:56:03

标签: sql sql-server tsql group-by

新手SQL问题 - >

我有一个Occurrences表,每次用户执行某项操作时都会包含一行。用户可以每天多次做这件事。它看起来像这样:

Date      Username
------    --------
1/1/9     User1
1/1/9     User1
1/1/9     User2
1/2/9     User1
1/2/9     User3
1/3/9     User1
1/3/9     User1
1/3/9     User1
1/3/9     User2
1/3/9     User3

我希望查询只返回用户名和它们出现的唯一天数(数量)。对于上面的数据集,我正在寻找的结果是:

Username    UniqueDaysAppeared
--------    ------------------
User1       3
User2       2
User3       2

我一直搞砸了,因为我的查询返回的不是每个用户的唯一天数,而是整个用户的出现次数。

1 个答案:

答案 0 :(得分:20)

SELECT Username, COUNT(DISTINCT(Date)) AS UniqueDaysAppeared
FROM Occurrences
GROUP BY Username