自 2019-07-27 開始,往前推 30 天 ,計算每天的活躍用戶數。用戶在某天如果至少有一次活動記錄,則被認為在該天是活躍的,不用管答案的排序。
結果表的格式如下例所示:
輸⼊ :
輸出 :
解釋:
參考答案
可以使⽤ GROUP BY
和 COUNT(DISTINCT user_id)
來計算每天的活躍⽤戶數,並且篩選⽇期範圍為2019/07/27 往前的30 天
select activity_date as day
, count(distinct user_id ) active _users
from Activity
where datediff (day,activity_date, '2019-07-27') between 0 an d 29
group by activity_date
DATEDIFF(day, activity_date, '2019-07-27')
:計算 activity_date
與 2019-07-27
之間的天數差,並確保 activity_date
在過去 30 天內。COUNT(DISTINCT user_id)
:計算每一天活躍的不同用戶數。GROUP BY activity_date
:按照每一天進行分組。這樣可以得到每天的活躍用戶數,並且只顯示有活躍用戶的日期。
謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的Threads,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!