2.6 试卷完成数同比2020年的增长率及排名变化

   日期:2024-12-27    作者:danquan1688 移动:http://oml01z.riyuangf.com/mobile/quote/59234.html

🍊今天复习一下mysql中的窗口函数,主要是通过几道练习题复习和加深一下对窗口函数的理解,对往期内容感兴趣的同学可以参考如下内容👇:

  • 链接: 牛客SQL大厂真题——某音短视频.
  • 链接: 京东数据分析SQL面试题.
  • 链接: 百度用户增长SQL面试题.

🌰话不多说,让我们开始今日份的学习吧。

MySQL中的窗口函数(Window Functions)是一种用于计算和分析数据集中的子集的函数,这些函数在计算聚合值时可以对数据进行分组、排序、过滤等操作。它们与GROUP BY语句不同,GROUP BY语句只能进行一次分组,而窗口函数可以根据不同的条件进行多次分组。

窗口函数可以使用OVER子句指定分组、排序和窗口的范围。通常情况下,窗口函数可以分为三类:排名函数、聚合函数和分析函数。

排序函数用于计算数据集中某个值在排序后的位置或排名。在MySQL中,常见的排序函数包括

  • RANK():计算排名,并且当值相同时会出现“并列排名”。
  • DENSE_RANK():计算排名,如果有并列排名则会跳过排名,下一个排名不会重复。
  • ROW_NUMBER():计算每行的行号。

聚合函数用于对分组数据进行计算,例如计算分组中的平均值、总和、最大值和最小值等。常见的聚合函数包括

  • SUM():计算分组中所有数值的总和。
  • AVG():计算分组中所有数值的平均值。
  • COUNT():计算分组中的记录数。
  • MAX():计算分组中所有数值的最大值。
  • MIN():计算分组中所有数值的最小值。

分析函数用于在保持数据集原有排序的情况下计算某个值。常见的分析函数包括

  • LAG():返回指定行之前的某一行。
  • LEAD():返回指定行之后的某一行。
  • FIRST_VALUE():返回第一个值。
  • LAST_VALUE():返回最后一个值。
  • NTILE():将分组划分为相同大小的桶,返回桶的编号。

窗口函数提供了更灵活、更高效的数据分析功能,可以帮助我们更好地理解数据,找到数据中的趋势和规律。

本次来做几道比较有意思的sql题,题目来源于牛客网,这几道题的通过率大多都在30%以下,于是自己亲自做了尝试,觉得很有参考价值。
链接: 进阶篇的窗口函数练习

解题思路:我们还是对最终的答案进行一步一步拆解,首先找到用户在某一门考试下的最小分数和当前排名,第二个子查询查找出某一个用户在某一门考试下的最高分,也就每一门考试只保留一个用户的最高分,最后再根据要求取前3名排序输出即可。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号