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

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

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

-- 1.id=1的用户喜欢的音乐 
with id_1_like as (
    select m.*
    from music m
    join music_likes ml on m.id = ml.music_id
    where ml.user_id ='1'
),
--2. 用户关注的人 --->喜欢的音乐id去重
    id_1_follow as(
        select follower_id
        from follow
        where user_id='1'
    ),
-- 用户关注的人喜欢的音乐id 去重并排序
    id1follow_like as (
        select distinct m.id,
                        m.music_name
        from music m
        join music_likes ml on m.id = ml.music_id
        where ml.user_id in (select * from id_1_follow)
        order by m.id
    )
-- 3.答案=第二步-第一步
select distinct il.music_name
from id1follow_like il
where il.id not in(
    select i1l.id from id_1_like i1l
    )
;

全部评论

相关推荐

政委qqq:这道题在算法竞赛里唯一考的就是高精度,但是只能难住C++这类语言,Python直接a+b秒天秒地
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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