mysql 本月老客户次月留存率_用mysql计算用户留存率
关于问题的背景描述和相关数据的下载见另一个帖子
下载完csv数据后需要先将数据导入到mysql里面再进行查询
import pandas as pd
import numpy as np
#将csv数据变成数据框
data1=pd.read_csv("D:\\A2021_02_13.csv")
#-----------------------------------------------------------------
# 接下来将数据框导出到mydql数据库中
#---------------------------------------------------------------------------------
#创建python和mysql的连接通道
from sqlalchemy import create_engine
connection1=create_engine("mysql+pymysql://root:12345@localhost:3306/test1?charset=utf8")
#create_engine的用法可以用help(sqlalchemy.engine)看下。
#将数据框data1借助通道倒入到mysql test1数据库的biao1
pd.io.sql.to_sql(data1,"biao1",connection1,schema="test1",if_exists="replace")
下面我们用mysql代码来实现查询计算
涉及到的关键词有 mysql 创建临时表 删除临时表 两个整数字段如何相除
drop temporary table if exists temp0;
create temporary table temp0
select 团长ID,STR_TO_DATE(审核通过日期,'%Y-%m-%d' ) as 审核通过日期1,
datediff(统计日期,审核通过日期) as t,
sum(销量) as 销量1,
max(if(销量>0,1,0)) 是否消费
from biao1
where (STR_TO_DATE(审核通过日期,'%Y-%m-%d' )>=str_to_date("2021-01-01",'%Y-%m-%d')
and STR_TO_DATE(审核通过日期,'%Y-%m-%d' )<=str_to_date("2021-01-24",'%Y-%m-%d')
and datediff(biao1.统计日期,biao1.审核通过日期)>=0
and datediff(统计日期,审核通过日期)<=7)
group by biao1.审核通过日期,biao1.团长ID,biao1.统计日期
order by 审核通过日期,团长ID,t
;
drop temporary table if exists temp1;
create temporary table temp1
select 审核通过日期1,团长ID,
max(case t when 0 then 是否消费 else NULL end) as t0,
max(case t when 1 then 是否消费 else NULL end) as t1,
max(case t when 2 then 是否消费 else NULL end) as t2,
max(case t when 3 then 是否消费 else NULL end) as t3,
max(case t when 4 then 是否消费 else NULL end) as t4,
max(case t when 5 then 是否消费 else NULL end) as t5,
max(case t when 6 then 是否消费 else NULL end) as t6,
max(case t when 7 then 是否消费 else NULL end) as t7
from temp0 group by 团长ID;
drop temporary table if exists temp2;
create temporary table temp2
select temp1.*,1 as count1,
(if((t0+t1)=2,1,0)) as 是否次日留存,
(if((t0+t1+t2+t3+t4+t5+t6)=7,1,0)) as 是否7日留存
from temp1;
drop temporary table if exists temp3;
create temporary table temp3
select sum(count1) as 新注册总人数,
sum(是否次日留存) as 次日留存人数,
sum(是否7日留存) as 7日留存人数
from temp2 group by count1;
select *,
(次日留存人数*1.0/新注册总人数) as 次日留存率,
(7日留存人数*1.0/新注册总人数) as 7日留存率
from temp3;
mysql 本月老客户次月留存率_用mysql计算用户留存率相关推荐
- mysql 本月老客户次月留存率_SQL-用户月留存率;
SQL-用户月留存率: 需求背景: 根据订单表,统计每个月在接下来几个月用户复购情况:(如:5月下单用户10000人:这10000人又在6月又下单的用户有5000人,这10000人在7月下单的用户有8 ...
- 如何高效计算用户留存率
如何高效计算用户留存率 简单介绍留存率的概念,说明数仓建设中对留存率计算的优化思路 什么是留存率 在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户,被认作是留存用 ...
- mysql启动后在哪里编程_启动mysql后怎么连接数据库
推荐答案 一.mysql安装 百度mysql下载一个即可.只是注意一下几个重要的数据: 第一个就是Port Number :3306.端口号默认3306,一般不需要改,如果改了,请记住这个端口号. 第 ...
- mysql数据库是一个软件呐_【MySQL数据库软件、SQL】
内容 数据库的基本概念 MySQL数据库软件 安装 卸载 配置 SQL 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓库. ...
- 关于mysql的项把他们都_卸载mysql | 学步园
如果你的电脑里装过MySQL,想再重新安装MySQL的时候可能就会因为前一版本卸载不完全而出现错误了--最常见的就是安装好后设置参数的最后一步验证时,会在Execute configurattion步 ...
- mysql转义单引号双引号_[转] mysql 单引号 双引号
今天在写一条sql语句的时候,用的双引号,sql语句执行错误.记的同事问我mysql语句中的单引号和双引号有区别吗?回答是没有区别. 今天特地查了查,还是有点区别的. mysql中的一段说明: 在my ...
- mysql必知必会笔记_《MySql必知必会》笔记整理
数据库基础 关键词: 数据库 表(表名唯一,取决多个因素,如不同数据库的表可以同名) 模式(关于数据库和表的布局及特性的信息) 列(表中的字段) 行[行(raw)和记录(record)很大程度可以等同 ...
- mysql截取最后一个斜杠_在MySQL中最后一个斜杠之后选择文本?
您需要使用MySQL的substring_index()函数来选择文本. 语法如下SELECT substring_index(yourColumnName,'/',-1) AS anyAliasNa ...
- navicat mysql两张表建立联系_初识MySQL
初识MySQL 为什么学习数据库 1.岗位技能需求 2.现在的世界,得数据者得天下 3.存储数据的方法 4.程序,网站中,大量数据如何长久保存? 5.数据库是几乎软件体系中最核心的一个存在. 什么是数 ...
- mysql timestamp 插入null报错_读MySQL 5.7文档11.2 Date and Time Data Types总结
作者:魏新平,知数堂第5期MySQL实战班学员,第10期MySQL优化班学员,现任职助教. 读MySQL5.7文档11.2 Date and Time Data Types MySQL的时间类型分为D ...
最新文章
- React——Flow代码静态检查
- C++ Primer 5th笔记(chap 19 特殊工具与技术)typeid
- 分治法:快速排序,3种划分方式,随机化快排,快排快,还是归并排序快?
- 转存储过程实现分页1
- Webtask后端即服务:无服务器快速教程
- php枚举属于什么类型,python枚举类型是什么?python枚举类型的简单介绍
- Dubbo学习总结(10)——里程碑式 Dubbo 2.7.5 版本发布,性能提升30%,支持 HTTP/2、TLS、Protobuf等特性。
- Excel导入导出帮助类
- Laravel5中基于jQuery实现分层级的类目树结构方法
- javaScript = == ===的区别
- 21. Don't try to return a reference when you must return an object
- word转pdf转换器11.0注册码
- 【协议】NVMe over RoCE 初探 SATA、PCIe 接口和AHCI、NVMe 协议
- sja1000编程c语言,CAN总线控制器-SJA1000源程序(c语言)资料.doc
- ZOJ 3898 - Stean 积分
- 深入拆解一线大厂JVM讲师:宋红康
- 【网络】trunk和vlan配置
- 金山毒霸独立上市意义何在?
- 如何使32位Win7支持超过4GB的内存,而不装64位
- 05-Elasticsearch-DSL高级检索[分页, 分词, 权重, 多条件, 过滤, 排序, 关键词高亮, 深度分页, 滚动搜索, 批量Mget]...
热门文章
- MIMO技术原理、概念、现状简介
- 基于CAT12的report数据做QC质量检查,排除离群点——IQR欧拉数
- python工具脚本,网站广告违禁词检测脚本源码
- 论文解读:Deep-4MCW2V:基于序列的预测指标,以鉴定大肠杆菌中的N4-甲基环胞嘧啶位点
- 将军赶路不追小兔—看完纪录片《百万富豪谷底翻身》
- Java批量解析微信dat文件,微信图片破解
- 治近视的秘方!1000度近视降到只有200度,不知道有没有用,试试(转)
- android viewpagerindicator tab,ViewPager系列之顶部滑动indicator+viewPager
- Vue01介绍+数据双向绑定+生命周期+什么是BootCDN+代码示例
- 如何更改python界面颜色_pycharm修改界面主题颜色的方法 pycharm怎么恢复默认设置...