sql 如何根据月份查询数据总数_数据分析—笔面试专题4

这是一道快手数据分析实习生面试题,涉及SQL查询。题目要求根据月份查询商品类目下累计销量金额大于9万的卖家数占比分布。解题思路包括增加月份列、计算每月卖家总数,然后通过左连接和分组条件完成SQL语句。
摘要由CSDN通过智能技术生成

e3103fb1e5f3def826e1c7aa2c79531d.png

SQL题

快手数据分析实习生面试题

表sale如下所示,查询每个商品类目下当月累计销量金额大于9万的卖家数占比分布。

f0fb76c510107f858d299f30ca885a5d.png

解题思路

第一步:在原表中增加月份列,并将查询结果作为表a

select *, month(date) as 月份 from sale;

3537b72cd1d83445256009ecf65e39e1.png

第二步:计算每月卖家总数,将查询结果作为表b

select month(date) as 月份, count(distinct seller_id) as 卖家总数 
from sale
group by month(date);

2500e229c69c78b3e807ba3d7e0e4959.png

第三步:采用左连接,将表a和表b按月份进行连接,并根据分组字段“商品类目”,“月份”和筛选条件“累计金额大于9万”写出SQL语句

select a.p_class, a.月份, count(distinct a.seller_id) as 卖家数, b.卖家总数,
count(distinct a.seller_id)/b.卖家总数 as 人数占比
from (select *, month(date) as 月份 from sale) as a 
left join (select month(date) as 月份, count(distinct seller_id) as 卖家总数 from sale group by month(date)) as b
on a.月份 = b.月份
group by a.p_class, a.月份
having sum(a.pay_amount) > 90000;

132f43ef8ee7ed31ab31f41a03a8b8b5.png

概率统计

统计抽样知识点总结

3bccc1acfef2955b61ce10b96a847b2f.png
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值