簡體   English   中英

滑動計數不同用戶的 window 12 個月

[英]Sliding window of count distinct users for 12 months

我有一個相當基本的數據集,其中有一個表,其中包含用戶每次與應用程序交互時的時間戳。 活躍用戶被歸類為在過去 12 個月內至少與應用互動過一次的用戶。

我需要制作一個表格,它每天(回溯 n 天)告訴我在前 12 個月期間有多少“活躍”用戶。 我需要在 Amazon Athena 中運行查詢

一個可能的復雜性是一個用戶每天都可以與應用程序交互。 我想知道最好的 window function 可以捕捉到這一點。

數據的格式;

A   Opened App  10/04/2020
A   Opened App  10/02/2020
A   Opened App  05/01/2020
B   Opened App  12/03/2020
B   Opened App  02/01/2019
B   Opened App  20/07/2018
C   Opened App  19/04/2019

我需要一個結果表

20/04/2020  2 (A and B)
19/04/2020  2 (A and B)
18/04/2020  3 (all three)
... 
04/01/2020  1 (Only C)
... 

一種方法是使用range為 window function 的count(distinct)

select distinct date,
       count(distinct user) over (order by date range between interval '1 year' preceding and current row) as num_active_users
from t;

並非所有數據庫都支持這種語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM