我昨天发布了与此类似的内容,但现在我想要一些与我的查询有所不同的内容-
我正在尝试查询数据库以检索一段时间内访问过网站的一次性用户的数量。数据看起来像这样:
Day | UserID
1 | A
1 | B
2 | B
3 | A
4 | B
4 | C
5 | D
我希望查询结果看起来像这样
Time Span | COUNT(DISTINCT UserID)
Day 1 to Day 1 | 2
Day 1 to Day 2 | 1
Day 1 to Day 3 | 0
Day 1 to Day 4 | 1
Day 1 to Day 5 | 2
结果是 2,1,0,1,2,因为在那些日子结束时,有 X 个用户访问过一次。例如,对于第 5 天,在第 5 天结束时,用户 c 和 d 分别只访问过一次。
我想我正在寻找与此类似的查询:
select d.day, (select count(distinct userid) from visits where day<=d.day)
from (select distinct day from visits) d
上面的查询和我正在寻找的不同之处在于,我希望这个新查询只考虑每个时间跨度的一次性用户,而不是重复用户。
谢谢