图解面试题:如何分析红包领取情况?

本文通过实例分析了如何使用SQL查询用户活跃度(DAU)、每日红包领取情况,包括用户数、人均金额和次数,以及按领红包天数和月份的统计,并探讨了多表查询、分组汇总和条件判断的应用。
摘要由CSDN通过智能技术生成

【题目】

“用户活跃表”记录了用户的登录信息,包括用户标识、用户登录日期,以及是否是新用户(如果是新注册的用户值为1;如果是老用户,值为0)。

“领取红包表”里记录了用户领取红包的信息,包括抢红包日期、抢红包时间、用户ID、领取红包金额。

现在业务部门需要分析出以下问题:

1.计算2019年6月1日至今,每日DAU(活跃用户是指有登陆的用户)

2.分析每天领取红包的用户数、人均领取金额、人均领取次数,要考虑用户属性及领取红包未登录情况。

3.分析每个月按领红包取天数为1、2、3……30、31天区分,计算取每个月领取红包的用户数,人均领取金额,人均领取次数。

4.分析每个月领过红包用户和未领红包用户的数量

【分析思路】

1.计算2019年6月1日至今,每日DAU(活跃用户是指有登陆的用户)

每日DAU(有登陆的用户数)用到的表是“用户活跃表”。当出现“每天”要想到《猴子 从零学会sql》里讲过的分组汇总来解决这样的问题。

用“日期”来分组(group by),用count(用户ID)来汇总登录用户。

sql代码如下

select 登录日期,count(用户ID) as 活跃用户量DAU
from 活跃用户表
where 登录日期>20190601
group by 登录日期;

查询结果如下

2.分析每天领取红包的用户数、人均领取金额、人均领取次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值