不精独乐乐
不精独乐乐
全部文章
分类
归档
标签
去牛客网
登录
/
注册
不精独乐乐的博客
全部文章
(共156篇)
题解 | #每个城市中评分最高的司机信息#
思路:先算出每个城市各个司机的参数,最后选出排名第1的即可。 ①两表连接,计算各个指标; ②用窗口函数rank排序; ③用子查询选出排名第一的数据。 with tb1 as( select city, driver_id, order_time, mileage, grade fr...
2023-02-09
0
232
题解 | #有取消订单记录的司机平均评分#
select ifnull(driver_id,'总体'), round(avg(grade),1) avg_grade from tb_get_car_order where grade is not null and driver_id in (select driver_id from tb...
2023-02-09
0
211
题解 | #2021年国庆在京接单3次及以上司机信息#
思路: ①根据城市和司机id分组,选出北京、司机id、国庆日期内接单数、收入形成表TB3; ②对TB3子查询,根据城市分组,计算相关平均值即可。 select city, round(sum(order_num)/count(driver_id),3), round(sum(income)/cou...
2023-02-09
0
270
题解 | #店铺901国庆期间的7日动销率和滞销率#
也是看了高赞回答和下面的评论才做出来的,针对评论中所说的 在架商品数量的子查询做了一点修改。 总结一下思路:求两个数, 1是对应日期7天内的在售商品数,用select里嵌套子查询进行遍历筛选7天内的时间; 2是在架商品数,用select里嵌套子查询遍历筛选销售日期之前上架的商品,即event_tim...
2023-02-09
1
295
题解 | #10月的新户客单价和获客成本#
思路: ①选出10月新用户,再选出新用户对应的首单数据; ②计算每个首单对应的订单总金额、商品总金额,最后计算。 步骤: ①选出10月新用户的首单数据:用窗口函数min选出最早下单时间,然后做筛选:下单时间=最早下单时间,且最早下单时间在2021年10月即可,形成表tb1。 ②用tb1左连接tb_...
2023-02-07
0
258
题解 | #零食类商品中复购率top3高的商品#
我个人比较喜欢先准备一个数据底表tb1,然后再进行操作。 思路:①先把3表连接,然后选出最大的日期备用; ②计算每个商品分组内,各个uid分别买了几次,用窗口函数count()onver(partition by 商品,uid),形成tb2; ③将商品分组,基于tb2进行子查询,count每种商品购...
2023-02-07
0
453
题解 | #某店铺的各商品毛利率及店铺整体毛利率#
看了高赞答案才知道用ifnull搭配with rollup来对聚合函数的结果进行再求和,并重命名表头。自己再总结一下思路: ①各表连接,进行时间、店铺的筛选; ②根据p_id进行分组,计算毛利率,同时用ifnull搭配with rollup来对聚合函数的结果进行再求和,并重命名表头; select...
2023-02-06
0
267
题解 | #连续签到领金币#
一、问题拆解: ①数据底表tb1,是20210707-20211031,artical_id=0,sign_in=1的数据; ②7天一个周期,需要将周期进行编号,便于后续分组计算,方法是((某日期-最早日期)/7+1)取整作为周期数; ③是否连续3天、连续7天签到判断,用窗口函数+窗口范围range...
2023-02-05
0
380
题解 | #每天的日活数及新用户占比#
思路: 1、选出每日新增用户,形成tb2; 2、选出每日活跃用户,形成tb3; 3、将tb3和tb2左连接,加入连接条件活跃日期=min(活跃日期),此时tb2仅留下新增用户的uid; 4、用count计算tb2和tb3的用户数,注意distinct去重。 with tb1 as( select ...
2023-02-05
0
316
题解 | #统计活跃间隔对用户分级结果#
一、思路:其实比较清晰,就是每个用户最早min、最晚max活跃时间与T、T-6、T-29之间的关系来划分。用case when分组即可。 二、步骤: 1、先把intime\outtime通过union联立, 2、再用窗口函数min和max提出每个用户最早、最晚活跃时间,用窗口函数count计算总用户...
2023-02-05
0
309
首页
上一页
7
8
9
10
11
12
13
14
15
16
下一页
末页