SQL计算次日留存率
实际业务中(特别是电商业务分析),需要计算今天用户登录,第二天还会登录的用户所占的比率,也就是次日留存率的概念。
计算思路就是将表进行自连接(条件是左表日期+1=右表日期),满足条件的记录数就是次日登录的用户总数,再除以左表记录总数(用户数)就是次日留存率。
select count(date2) / count(date1) as avg_ret
from (selectdistinct a.uid,a.date as date1,b.date as date2from tableName aleft join(select distinct uid, datefrom tableName)bon a.uid=b.uidand date_add(a.date, interval 1 day)=b.date
)t
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
