【sql】在电商情境下提取数据

本文通过实际的电商场景,展示了如何使用SQL解决数据提取问题,包括用户留存率计算、累计订单金额占比、新增用户及平均新增用户数、用户首次购买时间和沉默用户识别等。内容涵盖MySQL 5.7.17中的数据处理技巧。
摘要由CSDN通过智能技术生成

总结了几个使用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
		(select
		uid
		,date(min(login_time)) as 'first_login'
		from
		duibi.user_login
		group by
		uid)t1
		left join
		(select
		uid
		,date(max(login_time)) as 'last_login'
		from
		duibi.user_
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值