总结了几个使用sql语言对电商业务的问题的提数思路。因为网上公开的数据难以获取,这里是取自公开出版书籍中的随书资源,过程在自己的workbench里进行实操,重在展示解决问题的语句的思路。

mysql 5.7.17

1.计算用户的次日、3日、7日留存情况

现在有一张用户登录表user_login,这张表记录了每个用户每次登录的时间,包含uid(用户ID)、login_time(登录时间)两个字段。我们想看用户的次日留存数、三日留存数、七日留存数(只要用户首次登录以后再登录就算留存下来了)

select
sum(case when 间隔日>=7 then 1 else 0 end )as '7日留存',
sum(case when 3<=间隔日<7 then 1 else 0 end )as '3日留存',
sum(case when 1<=间隔日<3 then 1 else 0 end )as '次日留存'
from(select t1.uid,datediff(last_login,first) as '间隔日'from(selectuid,date(min(login_time)) as 'first_login'fromduibi.user_logingroup byuid)t1left join(selectuid,date(max(login_time)) as 'last_login'fromduibi.user_logingroup byuid)t2on t1.uid=t2.uid)t3

2.求累计和

现在有一张2019年一整年的订单表consum_order_table,这张表包含order_id(订单ID)、uid(用户ID)和amount(订单金额)三个字段,现在我们想看下80%的订单金额最少是由多少用户贡献的

因为这个版本的不支持over()函数,所以代码繁琐了一点

select sum(case when rate<0.8 then 1 else 0 end )as count_id
from(select t3.upto_amount/(select sum(consum_order_table.amount) from consum_order_table)as ratefrom (select t1.uid,sum(user_amount2) as upto_amountfrom(select uid,sum(amount) as user_amount1from duibi.consum_order_tablegroup by uid )as t1join(select uid,sum(amount) as user_amount2from duibi.consum_order_tablegroup by uid )as t2on t1.uid<=t2.uidgroup by t1.uidorder by upto_amount desc) as t3)as t4

3.获取某段时间的新增用户数

现在有一张用户表user_reg_table,这张表包含uid(用户ID)、reg_time(注册时间)两个字段,我们想获取某一天的新增用户数,以及该天对应的过去7天内每天的平均新增用户数

select
count(if ('2019-12-29'=date(reg_time),uid,null) )as '某天新增用户数',
count(if(0<datediff('2019-12-29',date(reg_time))<=6,1,0)) /7 as '近7天平均新增用户数'
from duibi.`user_reg_table`

4.获取用户首次购买时间

现在有一张first_order_table表,这张表包含order_id(订单ID)、uid(用户ID)和order_time(订单时间)三个字段,想获取每个用户的首次购买时间,以及首次购买时间是否在最近7天内

select
uid,t1.首次购买时间,
if(0<datediff('2020-01-06',首次购买时间) <=6,'是', '否') as '是否在最近7天内'
from(selectuid,min(order_time) as '首次购买时间'from duibi.first_order_tablegroup by uid)as t1

5.同时获取用户和订单数据

使用的是用户表user_reg_table和first_order_table表,现在想获取过去7天每天的新增用户数、订单数、下单用户数

这题我的解法不是很好,也不是同时查询出需要的三个数据,此题解法待优化

6.获取沉默用户数

用user_reg_table和first_order_table,获取沉默用户数,已注册但最近30天内没有购买记录。

select count(uid)
from duibi.`user_reg_table`
where uid not in(select  distinct uidfrom duibi.first_order_tablewhere datediff('2020-02-09',date(order_time))<=30)

7.获取新用户的订单数

用user_reg_table和first_order_table。获取最近7天注册的新用户在最近7天内的订单数是多少

select count(order_id)
from(select uidfrom duibi.`user_reg_table`where datediff('2020-01-07',date(reg_time))<=7 )as t1join(select  uid,order_idfrom duibi.first_order_tablewhere datediff('2020-01-07',date(order_time))<=7 )as t2on t1.uid=t2.uid

【sql】在电商情境下提取数据相关推荐

  1. 让数据发声 IBM在电商时代下的智慧营销

    文章讲的是 让数据发声 IBM在电商时代下的智慧营销, 日前,IBM携手析数软件(上海)有限公司.上海创维软件公司在上海举办了"电子商务时代的大数据分析洞察--IBM数据分析沙龙" ...

  2. ssm电商背景下精品茶网站的设计与实现毕业设计-附源码191732

    摘 要 近年来,随着移动互联网的快速发展,电商背景下精品茶网站越来越受到网民们的欢迎,电商背景下精品茶网站对国家经济的发展也起着越来越重要的作用.简单的流程.便捷可靠的支付方式.快捷畅通的物流快递.安 ...

  3. 大数据分析实战之项目实践:使用DLI Flink SQL进行电商实时业务数据分析

    使用 DLI Flink SQL 进行电商实时业务数据分析 业务场景介绍 场景描述 场景方案 场景任务 数据说明 数据源表:电商业务订单详情宽表 结果表:各渠道的销售总额实时统计表 操作过程 实操过程 ...

  4. 手把手教你用 SQL 实现电商产品用户分析

    作者介绍 @吃饭第一名的 Claire 美国德克萨斯大学奥斯汀分校商学院硕士: 美国某物流公司数据分析师: 负责数据收集.清理.分析.建模.可视化等: 美剧重度爱好者,坚信美食能解决大部分问题的终极吃 ...

  5. 09-Flutter移动电商实战-移动商城数据请求实战

    09-Flutter移动电商实战-移动商城数据请求实战 1.URL接口管理文件建立 第一步需要在建立一个URL的管理文件,因为课程的接口会一直进行变化,所以单独拿出来会非常方便变化接口.当然工作中的U ...

  6. 【问答集锦】人工智能/机器学习技术在电商场景下的应用

    近年来阿里不断运用深度学习.强化学习等人工智能领域的相关知识优化自身电商平台的搜索引擎和推荐系统,让其从冷冰冰的系统不断成长为越来越懂用户的智能购物助手. 日前,<尽在双11>人工智能部分 ...

  7. 在电商平台落地大数据应用的6个场景、2类服务、12个框架

    来啦,请坐. 我是老杨.如果你有强化管理能力,量化技术产出,提升技术效能,打造技术团队等需求,那么这套课程会为你揭开技术管理的神秘面纱,可以让"妈妈再也不用担心你的工作了". 这是 ...

  8. 生鲜在B2C电商模式下存在问题,O2O模式解决生鲜电商物流配送难题

    生鲜产品和普通的货物属性不同,它运送.配送上也相比普通货物要更难上一点.那么生鲜在B2C电商模式下存在什么问题?O2O模式怎么解决生鲜电商物流配送难题?下面是易族智汇javashop为您编辑整理的,欢 ...

  9. 谈B2B电商平台与大数据

    数据为王,服务为本--谈B2B电商平台与大数据 2013-06-27 11:10:41 作者:B2B行业资讯 标签:                             大数据           ...

最新文章

  1. 和12岁小同志搞创客开发:手撕代码,做一款火焰报警器
  2. C#表达式,类型和变量
  3. docker hub下载慢解决方法 使用daocloud的mirror
  4. OpenCV SIFT检测关键点
  5. Windows 技术篇-WPS关闭推送广告配置方法
  6. UNITY 手动定制inspector
  7. dav1d 0.5.1:更快!
  8. ruby 变量类中范围_Ruby中的类
  9. tecplot对数坐标轴怎么画_一次更换双速风机接线经历,想通了改变磁极对数原理...
  10. python可以给你干什么-python可以做什么,你心动了吗?
  11. Unity3D 获得GameObject组件的方法
  12. 利用Web of Science创建引文跟踪、检索词跟踪
  13. 现有VI 创建子VI(LabVIEW软件)
  14. ce修改手游服务器的数据,CE修改器修改游戏数据的方法
  15. r语言和python哪个难学_明明R语言比python容易学的多,为什么还有那么多人说R语言学起来陡峭?...
  16. CSS练习中|无序列表中,<li>的小黑点如何替换为图片(菜鸡趣味学习,细节到每一步)
  17. word公式编号问题
  18. 怎样用计算机弹出声音,电脑没声音怎么调出来
  19. Shell脚本-NF、FS(OFS)、RS(ORS)、NR(FNR)
  20. 信号完整性(SI)电源完整性(PI)学习笔记(二)时域与频域

热门文章

  1. 发动机气缸的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  2. windows-exploit-suggester.py Windows/Linux提权辅助
  3. 文字转语音(支持英语、韩语)
  4. springsecurity oauth2使用jwt实现单点登录
  5. 姜命 扬州格外机器人_未来十大工作将被机器人取代 高级技工表现很淡定
  6. 读书笔记:为啥要有Hive?Hadoop上查询性能问题
  7. 批量计算机添加网络打印机方法,通过IP添加网络打印机打印方法图解
  8. 优思学院:制止餐饮浪费,应实行精益六西格玛思想
  9. C语言——文件操作考核仨题
  10. html在母版页中布局,MVC母版页_Layout.cshtml