题解 | #网易云音乐推荐(网易校招笔试真题)#
#1.获取id为1的用户所关注的用户信息
select user_id, follower_id from follow where user_id = 1;
#2.获取到所关注用户所喜欢的音乐数据
select music_id from music_likes where user_id in(select follower_id from follow where user_id = 1);
#3.排除当前用户所喜欢的音乐
select m.music_id from
(select music_id from music_likes where user_id in(select follower_id from follow where user_id = 1)) as m
where m.music_id not in(select music_id from music_likes where user_id = 1);
#4.向其推荐所关注用户喜欢的音乐
select music_name
from music
where id
in (select m.music_id from
(select music_id from music_likes where user_id in(select follower_id from follow where user_id = 1)) as m
where m.music_id not in(select music_id from music_likes where user_id = 1)) order by id;
