SQL如何实现用户月留存率
发表于:2024-12-03 作者:千家信息网编辑
千家信息网最后更新 2024年12月03日,小编给大家分享一下SQL如何实现用户月留存率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL-用户月留存率;需求背景:
千家信息网最后更新 2024年12月03日SQL如何实现用户月留存率
小编给大家分享一下SQL如何实现用户月留存率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
SQL-用户月留存率;
需求背景:
根据订单表,统计每个月在接下来几个月用户复购情况;(如:5月下单用户10000人;这10000人又在6月又下单的用户有5000人,这10000人在7月下单的用户有8000人;)
解析思路:
可以建立一张 用户,月份临时表;
临时表自关联,产生笛卡尔积,使用用户id判定是否复购,用月份判定留存;
核心代码:
# 数据预处理-用户,月份去重;
drop table if exists tmp_user_retaion ;
create table tmp_user_retaion
as
select month as dt,userid
from odl_user_retain
group by month,userid;
# 留存计算;
select t1.dt as 自然月份,
t2.dt as 复购月份,
count(distinct t2.userid) as 复购用户数,
count(distinct t1.userid) as 总用户数
from tmp_user_retaion t1
left join tmp_user_retaion t2
on (t1.userid=t2.userid and t1.dt < t2.dt)
group by t1.dt,t2.dt
图表展示:
数据预处理
留存计算:
自关联,产生笛卡尔积;
原始表数据:
表结构;
CREATE TABLE `odl_user_retain` (
`month` bigint(20) DEFAULT NULL,
`userid` bigint(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
表数据;(需要先建立表,再插入数据)
INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (1, 1001);
INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (2, 1001);
INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (2, 1002);
INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (3, 1001);
INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (3, 1003);
INSERT INTO `odl_user_retain` (`month`, `userid`) VALUES (3, 1002);
延伸:
t1.dt <= t2.dt ,添加一个等号,可以看看有什么效果;
from tmp_user_retaion t1
left join tmp_user_retaion t2
on (t1.userid=t2.userid and t1.dt <= t2.dt)
以上是"SQL如何实现用户月留存率"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
用户
数据
月份
篇文章
内容
用户数
笛卡尔
关联
预处理
原始
接下来
不怎么
代码
图表
大部分
思路
情况
效果
更多
核心
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浦东新区软件开发生产过程
学习互联网软件开发好学吗
浙南科技城互联网大厦
某一学生所在班级成绩数据库
mdb数据库 导入xls
数据库索引及命中率
搞软件开发好不好
国家网络安全专家论证会
承载网络技术支持是干什么的
sql 查数据库表锁死
数据库开发和java哪个
织梦数据库在哪
不能进行分离的数据库有哪些
淮安管理类软件开发
微信记录保留在腾讯服务器上多久
脸云互联网科技
珠海专业模具制造管理软件开发
匿名买服务器
综合软件开发特价
WS服务器管理器找不到
网络技术有哪些职位
什么情况下不用建立数据库
蘑菇租房软件开发
软件开发办公图片
推荐的网络安全应用
杭州追电网络技术有限公司
CCRC网络安全服务证书
西门子服务器怎么开机箱
服务器管理器消失
广州腾科网络技术有限