题解 | #每个月Top3的周杰伦歌曲#

每个月Top3的周杰伦歌曲

https://www.nowcoder.com/practice/4ab6d198ea8447fe9b6a1cad1f671503

# 首先找到2022年18-25岁用户听周杰伦的歌的数据
with t1 as (
    select month(fdate) as month, song_id
    from play_log
    where user_id in (select user_id from user_info where age between 18 and 25)
    and year(fdate) = '2022'
    and song_id in (select song_id from song_info where singer_name = '周杰伦')
),
t2 as (
    # 计算每一个月的歌曲被听次数
    select month, t1.song_id, a.song_name, count(*) as play_pv
    from t1
    left join song_info as a
    on a.song_id = t1.song_id
    group by month, t1.song_id, a.song_name
),
t3 as (
    select month, row_number() over(partition by month order by play_pv desc, song_id) as ranking,song_name, play_pv
    from t2
)
select * 
from t3
where ranking <= 3;



全部评论

相关推荐

不愿透露姓名的神秘牛友
06-20 18:18
是不是意味着秋招就完蛋了
花不开柳成荫:如果你是Java,是的
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-23 17:45
门头沟学院 Java
里面的项目啥的真的有用吗?&nbsp;这些人是割韭菜吗?
HellowordX:很简单,如果你有自己稳定的学习路线和获取知识的方式就没必要,如果你啥都不懂的小白或者里边有你感兴趣的知识,我觉得挺值,我也经常为知识付费,因为时间精力有限,很多东西我不可能自己重复造轮子
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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