每天获得每个不同ID的数量

时间:2016-10-28 14:52:59

标签: postgresql count group-by timestamp distinct

我有一张记录网站在线活动的表格

ID | Day         | Action 
---|-------------|-------
1  | 2016-01-01  | Log in
---|-------------|-------
2  | 2016-01-01  | Log in
---|-------------|-------
1  | 2016-01-01  | Log off
---|-------------|-------
2  | 2016-01-01  | Ask Question
---|-------------|-------
3  | 2016-01-01  | Log in
---|-------------|-------
2  | 2016-01-02  | Log in
---|-------------|-------
1  | 2016-01-02  | Log in
---|-------------|-------
1  | 2016-01-02  | Ask Question
---|-------------|-------       

我想计算在第x天使用该网站的用户数量 像这样:

|Day         |Count|
|------------|-----|
|2016-01-01  |  3  |
|------------|-----|
|2016-01-02  |  2  |

如果我执行正常的计数查询,例如

SELECT day, COUNT(distinct id) FROM data GROUP BY 1

它只会计算用户第一次使用该网站的条目。

如何计算查询?

1 个答案:

答案 0 :(得分:1)

我按照您的概述创建了表格并执行了以下查询:

select day, count(distinct id1) from test group by day

我得到了以下内容:

24-OCT-16   3
28-OCT-16   2

我改变的唯一一件事是在我使用Oracle时按日分组。你在寻找一些不同的结果吗?