小红书销售面试(小红书销售面试多久有结果)
目前应该是有很多小伙伴对于小红书销售面试方面的信息比较感兴趣,现在小编就收集了一些与小红书销售面试多久有结果相关的信息来分享给大家,感兴趣的小伙伴可以接着往下看,希望会帮助到你哦。
【面试题】
小红书月活跃用户数已经过亿,用户在小红书上通过文字、图片、视频笔记分享生活,并创建相关商品链接,吸引相同爱好的用户进行收藏购买,用户的消费有什么行为特征呢?(小红书面试题)
现有用户订单表、用户收藏表。
用户订单表:记录用户id、购买的商品id、用户下单的时间及商品的种类。
用户收藏商品表:记录用户id、用户收藏的商品id及收藏时间。
问题:请用一句sql语句得出以下查询结果,得到所有用户的商品行为特征,其中用户行为分类为4种:已购买、购买未收藏、收藏未购买、收藏且购买。
【解题步骤】
题目要求得出查询表,需要增加两个表中都没有的4个字段,分别为4种用户行为特征:已购买、购买未收藏、收藏未购买、收藏且购买。
1.如何得到用户行为特征?
因为要通过用户id和商品id来判断用户在订单表和收藏表的情况,所以用用户id、商品id联结两表。
两表联结后,会出现下面4种用户行为特征。
1)如果商品在用户订单表中出现,表示用户购买了该商品,属于“已购买”。
2)如果商品在用户订单表中出现,但是用户收藏商品表中没有出现该商品,属于“购买未收藏”。
3)如果商品在用户收藏商品表中出现,但是用户订单表中没有出现该商品,属于“收藏未购买“。
4)如果商品在用户收藏商品表中出现,同时用户订单表中也出现该商品,属于“收藏且购买”。
上诉用户行为特征可以从表的角度又分为2大类:
1)从用户订单表角度来看
如果商品在用户订单表中出现,表示用户购买了该商品,属于“已购买”。
如果商品在用户订单表中出现,但是用户收藏商品表中没有出现该商品,属于“购买未收藏”。
上面从A表角度来看B表,就是保留A表里的全部数据,所以要用到左连接(left join)保留左表里到数据。我们把用户订单表记录为a表,把用户收藏商品表记录为b表。
这种情况,我们使用用户订单表(表a)左联结用户收藏商品表(表b)可以判断出,也就是保留左表用户订单表(表a)里的全部数据。
2)从用户收藏商品表角度来看
如果商品在用户收藏商品表中出现,但是用户订单表中没有出现该商品,属于“收藏未购买“。
如果商品在用户收藏商品表中出现,同时用户订单表中也出现该商品,属于“收藏且购买”。
这种情况,我们使用用户收藏商品表(表b)左联结用户订单表(表a)可以判断出,也就是保留左表用户收藏商品表(表b)里的全部数据。
2.如何判断用户行为特征?
不同用户行为特征,需要用到多条件判断,这就要用到《猴子 从零学会SQL》里讲过的多条件判断(case表达式)。
3.从用户订单表角度来看
这种情况,我们使用用户订单表(表a)左联结用户收藏商品表(表b)可以判断出,也就是保留左表用户订单表(表a)里的全部数据。
1 select a.用户id,a.商品id2 from 用户订单表 as a3 left join 用户收藏商品表 as b4 on a.用户id=b.用户id and a.商品id=b.商品id;
下面使用条件判断(case)新增4列分别表示4种用户行为特征。新增的列里用1表示有该用户行为特征,用0表示没有该用户特征。
1)如果商品在用户订单表中出现,表示用户购买了该商品,属于“已购买”。因为是左联结,所以是保留了左表用户订单(表a)里到全部数据。
因此这样的联结结果里的商品都来自左表用户订单表,所以都是“已购买”,在sql里用“1 as '已购买'”表示这一列都有该用户行为特征。
2)如果商品在用户订单表中出现,但是用户收藏商品表中没有出现该商品,属于“购买未收藏”,对应条件判断是:
1 (case when b.商品id is null2 then 13 else 04 end) as '购买未收藏'
3)如果商品在用户收藏商品表中出现,但是用户订单表中没有出现该商品,属于“收藏未购买“。
前面说了,现在是用户订单表(表a)左联结用户收藏商品表(表b)可以判断出,也就是保留左表用户订单表(表a)里的全部数据。
因此这样的联结结果里的商品都来自左表用户订单表,所以这一列对应的没有该用户行为特征(用0表示)。在sql里用“0 as'收藏未购买'”表示。
4)如果商品在用户收藏商品表中出现,同时用户订单表中也出现该商品,属于“收藏且购买”,对应条件判断是:
1 (case when a.商品id=b.商品id2 then 13 else 04 end) as '购买且收藏'
把上面4种用户行为特征内容写成完整的sql:
1 select a.用户id,a.商品id,2 1 as '已购买',3 (case when b.商品id is null then 1 else 0 end) as '购买未收藏',3 0 as'收藏未购买',4 (case when a.商品id=b.商品id then 1 else 0 end) as '购买且收藏'5 from 用户订单表 as a6 left join 用户收藏商品表 as b7 on a.用户id=b.用户id and a.商品id=b.商品id;
查询结果
4.从用户收藏商品表角度来看
这种情况,我们使用用户收藏商品表(表b)左联结用户订单表(表a)可以判断出,也就是保留左表用户收藏商品表(表b)里的全部数据。
1 select b.用户id,b.商品id2 from 用户收藏商品表 as b3 left join 用户订单表 as a4 on b.用户id=a.用户id and b.商品id=a.商品id;
下面使用条件判断(case)新增4列分别表示4种用户行为特征。新增的列里用1表示有该用户行为特征,用0表示没有该用户特征。
1)如果商品在用户订单表(表a)中出现,表示用户购买了该商品,属于“已购买”,对应判断条件是:
1 (case when a.商品id is not null2 then 13 else 04 end) as '已购买'
2)如果商品在用户订单表(表a)中出现,但是用户收藏商品表(表b)中没有出现该商品,属于“购买未收藏”。
因为是左联结,所以是保留了用户收藏商品表(表b)里到全部数据。
因此这样的联结结果里的商品都来自左表用户收藏商品表(表b),所以没有“购买未收藏”这样的用户特征,在sql里用“0 as'购买未收藏'”表示这一列都没有该用户行为特征。
3)如果商品在用户收藏商品表(表b)中出现,但是用户订单表(表a)中没有出现该商品,属于“收藏未购买“,对应条件判断是:
1 (case when a.商品id is null2 then 13 else 04 end) as '收藏未购买'
4)如果商品在用户收藏商品表中出现,同时用户订单表中也出现该商品,属于“收藏且购买”,对应条件判断是:
1 (case when b.商品id=a.商品id2 then 13 else 04 end) as '购买且收藏'
把上面4种用户行为特征内容写成完整的sql:
1 select b.用户id,b.商品id,2 (case when a.商品id is not null then 1 else 0 end) as '已购买',3 0 as'购买未收藏',4 (case when a.商品id is null then 1 else 0 end) as '收藏未购买',5 (case when b.商品id=a.商品id then 1 else 0 end) as '购买且收藏'7 from 用户收藏商品表 as b8 left join 用户订单表 as a9 on b.用户id=a.用户id and b.商品id=a.商品id;
查询结果:
5.全部商品
因为上面两个查询结果分别只保留了左表的全部数据,并不是全部的商品,如果要得出全部用户的行为特征的话,需要将两个表合并起来(表的加法)(注意:用union语句连接两表字段格式必须一致)。
对应sql如下:
1 (select a.用户id,a.商品id,2 1 as '已购买',3 (case when b.商品id is null then 1 else 0 end) as '购买未收藏',4 0 as'收藏未购买',5 (case when a.商品id=b.商品id then 1 else 0 end) as '购买且收藏'6 from 用户订单表 as a7 left join 用户收藏商品表 as b8 on a.用户id=b.用户id and a.商品id=b.商品id)9 union10 (select b.用户id,b.商品id,11 (case when a.商品id is not null then 1 else 0 end) as '已购买',12 0 as'购买未收藏',13 (case when a.商品id is null then 1 else 0 end) as '收藏未购买',14 (case when b.商品id=a.商品id then 1 else 0 end) as '购买且收藏'15 from 用户收藏商品表 as b16 left join 用户订单表 as a17 on b.用户id=a.用户id and b.商品id=a.商品id);
查询结果:
【本题考点】
1.用多维度拆解分析方法,将复杂的业务问题拆解为可以解决的简单问题。
2.遇到多条件判断的问题,要想到用case语句来实现。
3.遇到只有一个表且只能用一条SQL语句完成,可以联想到用多表联结,来实现复杂的业务。
4.使用外连接union注意连接表格必须字段格式一致方可连接成功。
推荐:如何从零学会SQL?
本文结束,以上,就是小红书销售面试,小红书销售面试多久有结果的全部内容了,如果大家还想了解更多,可以关注我们哦。
相关文章
-
火灾宣传视频(预防火灾宣传视频有哪些内容)详细阅读
目前应该是有很多小伙伴对于火灾宣传视频方面的信息比较感兴趣,现在小编就收集了一些与预防火灾宣传视频有哪些内容相关的信息来分享给大家,感兴趣的小伙伴可以...
2022-08-16 255831
-
火灾消防宣传视频(消防火灾宣传内容)详细阅读
目前应该是有很多小伙伴对于火灾消防宣传视频方面的信息比较感兴趣,现在小编就收集了一些与消防火灾宣传内容相关的信息来分享给大家,感兴趣的小伙伴可以接着往...
2022-08-16 245557
-
火影忍者短视频15秒(火影忍者短视频15秒下载)详细阅读
目前应该是有很多小伙伴对于火影忍者短视频15秒方面的信息比较感兴趣,现在小编就收集了一些与火影忍者短视频15秒下载相关的信息来分享给大家,感兴趣的小伙...
2022-08-16 236091
-
火影精彩剪辑短视频(火影剪辑短视频十几秒)详细阅读
目前应该是有很多小伙伴对于火影精彩剪辑短视频方面的信息比较感兴趣,现在小编就收集了一些与火影剪辑短视频十几秒相关的信息来分享给大家,感兴趣的小伙伴可以...
2022-08-16 227402
-
火烧制作方法的视频(叉子火烧的制作方法和视频)详细阅读
目前应该是有很多小伙伴对于火烧制作方法的视频方面的信息比较感兴趣,现在小编就收集了一些与叉子火烧的制作方法和视频相关的信息来分享给大家,感兴趣的小伙伴...
2022-08-16 217766
-
火烧的做法视频(火烧的做法和配方视频教程)详细阅读
目前应该是有很多小伙伴对于火烧的做法视频方面的信息比较感兴趣,现在小编就收集了一些与火烧的做法和配方视频教程相关的信息来分享给大家,感兴趣的小伙伴可以...
2022-08-16 208233
-
火山爆发短视频(火山爆发儿童视频)详细阅读
目前应该是有很多小伙伴对于火山爆发短视频方面的信息比较感兴趣,现在小编就收集了一些与火山爆发儿童视频相关的信息来分享给大家,感兴趣的小伙伴可以接着往下...
2022-08-16 201714
-
火拍短视频(火拍短视频为什么不能播了)详细阅读
目前应该是有很多小伙伴对于火拍短视频方面的信息比较感兴趣,现在小编就收集了一些与火拍短视频为什么不能播了相关的信息来分享给大家,感兴趣的小伙伴可以接着...
2022-08-16 195049
发表评论