因此,我正在尝试获取最近7天每天的注册销售不同用户数。这是我的桌子的一个样本:
ID Date
1 2018-01-01
2 2018-01-02
3 2018-01-03
3 2018-01-04
2 2018-01-05
4 2018-01-06
5 2018-01-07
2 2018-01-08
这是我期望的结果:
Distinct IDs Date
1 2018-01-01
2 2018-01-02
3 2018-01-03
3 2018-01-04
3 2018-01-05
4 2018-01-06
5 2018-01-07
4 2018-01-08
就好像我在按日期和日期前6天的组数来计算不同的ID一样。有什么想法吗?
答案 0 :(得分:1)
可能最简单的方法是使用相关子查询:
select t.date,
(select count(distinct t2.id)
from t t2
where t2.date >= t.date - interval '6 day' and t2.date <= t.date
) as uniques_7day
from (select distinct date
from t
) t;
请注意,您尚未指定数据库,因此它使用ANSI / ISO标准SQL语法。