关于问题的背景描述和相关数据的下载见另一个帖子

下载完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计算用户留存率相关推荐

  1. mysql 本月老客户次月留存率_SQL-用户月留存率;

    SQL-用户月留存率: 需求背景: 根据订单表,统计每个月在接下来几个月用户复购情况:(如:5月下单用户10000人:这10000人又在6月又下单的用户有5000人,这10000人在7月下单的用户有8 ...

  2. 如何高效计算用户留存率

    如何高效计算用户留存率 简单介绍留存率的概念,说明数仓建设中对留存率计算的优化思路 什么是留存率 在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户,被认作是留存用 ...

  3. mysql启动后在哪里编程_启动mysql后怎么连接数据库

    推荐答案 一.mysql安装 百度mysql下载一个即可.只是注意一下几个重要的数据: 第一个就是Port Number :3306.端口号默认3306,一般不需要改,如果改了,请记住这个端口号. 第 ...

  4. mysql数据库是一个软件呐_【MySQL数据库软件、SQL】

    内容 数据库的基本概念 MySQL数据库软件 安装 卸载 配置 SQL 数据库的基本概念 1. 数据库的英文单词: DataBase 简称 : DB 2. 什么数据库? * 用于存储和管理数据的仓库. ...

  5. 关于mysql的项把他们都_卸载mysql | 学步园

    如果你的电脑里装过MySQL,想再重新安装MySQL的时候可能就会因为前一版本卸载不完全而出现错误了--最常见的就是安装好后设置参数的最后一步验证时,会在Execute configurattion步 ...

  6. mysql转义单引号双引号_[转] mysql 单引号 双引号

    今天在写一条sql语句的时候,用的双引号,sql语句执行错误.记的同事问我mysql语句中的单引号和双引号有区别吗?回答是没有区别. 今天特地查了查,还是有点区别的. mysql中的一段说明: 在my ...

  7. mysql必知必会笔记_《MySql必知必会》笔记整理

    数据库基础 关键词: 数据库 表(表名唯一,取决多个因素,如不同数据库的表可以同名) 模式(关于数据库和表的布局及特性的信息) 列(表中的字段) 行[行(raw)和记录(record)很大程度可以等同 ...

  8. mysql截取最后一个斜杠_在MySQL中最后一个斜杠之后选择文本?

    您需要使用MySQL的substring_index()函数来选择文本. 语法如下SELECT substring_index(yourColumnName,'/',-1) AS anyAliasNa ...

  9. navicat mysql两张表建立联系_初识MySQL

    初识MySQL 为什么学习数据库 1.岗位技能需求 2.现在的世界,得数据者得天下 3.存储数据的方法 4.程序,网站中,大量数据如何长久保存? 5.数据库是几乎软件体系中最核心的一个存在. 什么是数 ...

  10. 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 ...

最新文章

  1. React——Flow代码静态检查
  2. C++ Primer 5th笔记(chap 19 特殊工具与技术)typeid
  3. 分治法:快速排序,3种划分方式,随机化快排,快排快,还是归并排序快?
  4. 转存储过程实现分页1
  5. Webtask后端即服务:无服务器快速教程
  6. php枚举属于什么类型,python枚举类型是什么?python枚举类型的简单介绍
  7. Dubbo学习总结(10)——里程碑式 Dubbo 2.7.5 版本发布,性能提升30%,支持 HTTP/2、TLS、Protobuf等特性。
  8. Excel导入导出帮助类
  9. Laravel5中基于jQuery实现分层级的类目树结构方法
  10. javaScript = == ===的区别
  11. 21. Don't try to return a reference when you must return an object
  12. word转pdf转换器11.0注册码
  13. 【协议】NVMe over RoCE 初探 SATA、PCIe 接口和AHCI、NVMe 协议
  14. sja1000编程c语言,CAN总线控制器-SJA1000源程序(c语言)资料.doc
  15. ZOJ 3898 - Stean 积分
  16. 深入拆解一线大厂JVM讲师:宋红康
  17. 【网络】trunk和vlan配置
  18. 金山毒霸独立上市意义何在?
  19. 如何使32位Win7支持超过4GB的内存,而不装64位
  20. 05-Elasticsearch-DSL高级检索[分页, 分词, 权重, 多条件, 过滤, 排序, 关键词高亮, 深度分页, 滚动搜索, 批量Mget]...

热门文章

  1. MIMO技术原理、概念、现状简介
  2. 基于CAT12的report数据做QC质量检查,排除离群点——IQR欧拉数
  3. python工具脚本,网站广告违禁词检测脚本源码
  4. 论文解读:Deep-4MCW2V:基于序列的预测指标,以鉴定大肠杆菌中的N4-甲基环胞嘧啶位点
  5. 将军赶路不追小兔—看完纪录片《百万富豪谷底翻身》
  6. Java批量解析微信dat文件,微信图片破解
  7. 治近视的秘方!1000度近视降到只有200度,不知道有没有用,试试(转)
  8. android viewpagerindicator tab,ViewPager系列之顶部滑动indicator+viewPager
  9. Vue01介绍+数据双向绑定+生命周期+什么是BootCDN+代码示例
  10. 如何更改python界面颜色_pycharm修改界面主题颜色的方法 pycharm怎么恢复默认设置...