SQL实战篇:SQL解决近X天的问题
生活随笔
收集整理的這篇文章主要介紹了
SQL实战篇:SQL解决近X天的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在面試和實際項目中,我們經常會遇到這樣兩類問題,即以時間為軸線,沿著時間軸分析過去一段時間的用戶特征或者行為。
一類是根據用戶第一次訪問的時間統計最近N天的行為特征,稱之為近X天問題;另一類是根據用戶第一次訪問的時間統計連續N天的行為特征,稱之為連續X天問題。
下面,先講下近X天問題的解決方法。一般在BI報表里面,關于用戶分析時,用戶留存是個不可缺少的分析,而業界比較成熟的判斷標準就是計算一些具體的指標,包括計算用戶次日、3日、7日、30日和90日的留存率。
這些指標的通俗定義如下:
- 次日留存:當日登錄后,第二天也登錄了,比如2021.2.10登錄過,2021.2.11登錄的算作次日留存 。
- 三日留存:當日登錄后,第三天也登錄了,比如2021.2.10登錄過,2021.2.12登錄的算作3日留存 。
- 七日留存:當日登錄后,第七天也登錄了,比如2021.2.10登錄過,2021.2.16登錄的算作7日留存 。
- 以此類推···
現假設,有一張用戶登錄表t_user_login,字段user_id和login_time分別表示新增用戶id和登陸時間。接下來,我們計算用戶次日、3日、7日、30日和90日的留存率。
一般解決此類近X天問題的思路如下:
- 第一步,獲取新增用戶最早的登陸時間,標記為新的一列first_login_time;
- 第二步,計算最早登陸時間和所有登陸時間之前的天數差值,即login_time -
first_login_time,標記為新的一列login_by_day
總結
以上是生活随笔為你收集整理的SQL实战篇:SQL解决近X天的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL实战篇:SQL窗口函数及真题
- 下一篇: SQL实战篇:SQL解决连续X天的问题