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安全错误
数据库的锁怎样保障安全
it网络安全求职简历模板
数据库端口是否需要修改
数据库中月份差函数
直播软件开发公司
什么叫软件开发业务需求
中国的网络安全博览会
微信小程序软件开发哪家靠谱
免费护苗网络安全课ppt
成考学网络安全师
某集团网络安全方案设计
戴尔r340服务器指示灯
软件开发口号
潮阳软件开发
服务器主板组装教程
软件开发管理学案例
计算机网络技术的环境
确保服务器安全管理
三级分销佣金分配表数据库
数据库未处于允许访问检查的阶段
电子科大网络安全平均工资
国家网络安全教育周演讲稿
数据库做什么用
数据库表结构举例
公安大学生网络安全专业怎么样
帮别人租了服务器
护苗网络安全第1集
宿迁工业网络技术大概费用
sql还原数据库
深圳招聘网络技术员
南京新网网络安全