本题是美团数据开发面试真题,视频讲解链接如下: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。
 
我们一步步来,最终实现一个完整的推荐列表。
本题需求如下:输出cust_uid(MT10000)、cust_uid_1两列,按cust_uid_1升序排序。
要求cust_uid_1必须吃过庄家界(千灯店)、黄记烘培宫廷桃酥王这两家餐厅。
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 | 兰州李晓明拉面馆 | 餐饮 | 小吃快餐 | 
 成为会员,解锁300道大厂数分SQL真题
MySQL 8.0