题解 | #网易云音乐推荐(网易校招笔试真题)#

网易云音乐推荐(网易校招笔试真题)

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

全部评论

相关推荐

06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务