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

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

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

知识点

  1. 使用子查询首先推荐用户1关注的人就是follow表user_id=1的follower_id
  2. 之后音乐不能是用户1听过的,就是music_id not in(music_likes表里面user_id = 1)
  3. 最后再把music表连接一下,music_name不要重复再加个distinct

代码

select distinct m.music_name
from (
      select music_id from music_likes
      where user_id in (select follower_id from follow where user_id = 1)
      and music_id not in (select music_id from music_likes where user_id = 1)
     ) as a
join music as m 
on a.music_id = m.id
order by m.id
全部评论
where user_id in (select follower_id 他俩为啥是能匹配得 不是user_id=user_id吗,select follower_id from follow where user_id = 1 用户1关注得人,为什么能当music_likes表user_id得筛选条件 名称不相同也能匹配吗
点赞 回复 分享
发布于 03-13 15:37 北京

相关推荐

03-28 19:11
铜陵学院 C++
有礼貌的山羊追赶太阳:太典了,连笔试都没有开始就因为HC满了而结束了,而且还卡你不让你再投其他部门的。
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务