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

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

http://www.nowcoder.com/practice/048ed413ac0e4cf4a774b906fc87e0e7

将三张表连接,通过子查询限定音乐ID即可 最外面嵌套一层查询的原因是distinct和orderby不能联用,因为distinct执行顺序优于orderby ,而前者根据查询结果生成一张虚拟表,是不包含orderby使用的字段的。可以将orderby字段加入select解决,但是不符合题目要求,所以再套一层查询解决这个问题。

from(
select distinct music_name,music_id
from follow F left join music_likes ML on F.follower_id=ML.user_id left join music M on M.id=ML.music_id
where F.user_id ="1" and music_id not in (select music_id from music_likes where user_id = 1 )
)B
order by music_id

全部评论

相关推荐

10-15 10:57
已编辑
武昌理工学院 FPGA工程师
狠赚笔第一人:老哥学院本没实习还想拿13k学Java狠赚笔呢
点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务