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

每个月Top3的周杰伦歌曲

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

SELECT 
	MONTH month, 
	ranking,
	song_name,
	pv AS play_pv 
FROM
	(
	SELECT 
		MONTH as month,
		YEAR,
		ROW_NUMBER() over (
			PARTITION BY
			MONTH,
		YEAR 
		ORDER BY
			pv DESC,
			song_id 
		) AS ranking,
		song_name,
		pv 
	FROM
		(
		SELECT
			song_id,
			MONTH,
			YEAR,
			song_name,
			count(*) pv 
		FROM
			(
			SELECT
				log.song_id,
				info.age,
				log.fdate,
				song.singer_name,
				song.song_name,
				MONTH ( log.fdate ) AS MONTH,
				YEAR ( log.fdate ) AS YEAR 
			FROM
				play_log log
				INNER JOIN user_info info ON info.user_id = log.user_id
				INNER JOIN song_info song ON song.song_id = log.song_id 
			WHERE
				info.age BETWEEN 18 
				AND 25 
				AND song.singer_name = '周杰伦' 
			) a 
		WHERE
			YEAR = 2022 
		GROUP BY
			song_id,
			MONTH,
			YEAR,
			song_name 
		) c 
	) z 
WHERE
	ranking <=3

全部评论

相关推荐

点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-10 15:58
投个小米提前批试试水,先投一个岗位看看形势,不行就再沉淀一下投第二个岗位,莫辜负
Java抽象带篮子:我嘞个骚刚,已经开始研发6g了吗
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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