本题是美团数据开发面试真题,视频讲解链接如下:https://www.bilibili.com/video/BV19B4y137ZZ/?vd_source=8b5224face24d524fb76850904923f04
原题简化描述如下,有一张表记录了每个用户吃过的每一家餐厅。
user_id | restaurant_id |
---|---|
a | 1 |
a | 2 |
a | 3 |
b | 2 |
b | 3 |
b | 4 |
b | 5 |
c | 1 |
c | 3 |
e | 4 |
e | 5 |
e | 6 |
如a吃过1、2、3;d吃过1;b吃过2、3、4、5;c吃过1、3;d吃过1。
定义共同吃过2家及以上餐厅的为相似用户。
- a和b都吃过2、3,那他们可能有相同的兴趣,可以给a推荐4、5;给b推荐1
- a和c都吃过1、3,可以给c推荐他没吃过的2
- d和任何人都不相似,d不获得任何推荐。
- 最终给a推荐4、5;给b推荐6;给c推荐2;d不获得任何推荐;给e推荐2、3。
我们一步步来,最终实现一个完整的推荐列表。
本题需求如下:找出用户MT10000消费过的所有餐厅。
输出cust_uid(都是MT10000)、mch_nm两列即可,按mch_nm升序排序
mt_trx_rcd1,美团用户交易订单表
trx_seq | cust_uid | trx_dt | trx_amt | mch_nm | mch_typ1 | mch_typ2 |
---|---|---|---|---|---|---|
1016 | MT10008 | 2021-06-19 | 374 | 兰州李晓明拉面馆 | 餐饮 | 小吃快餐 |
1078 | MT10020 | 2021-04-01 | 3 | 串部落麻辣龙虾(陵园店) | 餐饮 | 小龙虾 |
866 | MT10005 | 2021-03-03 | 230 | 申时咖啡馆(高新店) | 餐饮 | 咖啡厅 |
848 | MT10005 | 2021-04-13 | 209 | 喵哆哆串串香(双井店) | 餐饮 | 火锅 |
763 | MT10003 | 2021-10-02 | 349 | 兰州李晓明拉面馆 | 餐饮 | 小吃快餐 |
输出如下字段。
cust_uid | mch_nm |
---|---|
MT10000 | 520烧烤店 |
MT10000 | 一枚帅哥做的菜 |
MT10000 | 侗侗面馆(洛社店) |
MT10000 | 俏媳妇时尚自助火锅(土门店) |
MT10000 | 兰州李晓明拉面馆 |
MT10000 | 品众素心素食餐厅 |
 点击下方空白区域即可查看参考答案
MySQL 8.0