题解 | #网易云音乐推荐(网易校招笔试真题)#
网易云音乐推荐(网易校招笔试真题)
https://www.nowcoder.com/practice/048ed413ac0e4cf4a774b906fc87e0e7
整体不难,正常的表连接操作,在这里注意一下distinct和order by使用冲突的问题
这里提供两个解决方法
-- 方法1:再嵌套一层查询,再最外层排序
select music_name
from
(select distinct m1.id id,music_name
from music_likes ml1 left join music m1 on ml1.music_id=m1.id left join follow f1 on ml1.user_id=f1.follower_id
where f1.user_id=1
and music_name not in (select music_name
from music_likes ml1 left join music m1 on ml1.music_id=m1.id
where user_id=1)
) t1
order by id asc
-- 方法2:使用group by解决
select music_name
from music_likes ml1 left join music m1 on ml1.music_id=m1.id left join follow f1 on ml1.user_id=f1.follower_id
where f1.user_id=1
and music_name not in (select music_name
from music_likes ml1 left join music m1 on ml1.music_id=m1.id
where user_id=1)
group by music_name
order by max(m1.id) asc
OPPO公司福利 1202人发布