首页 > 数据库 >SQLSERVER中RANK OVER(PARTITION BY)的用法

SQLSERVER中RANK OVER(PARTITION BY)的用法

时间:2022-12-07 00:12:21浏览次数:42  
标签:班级 GROUP OVER PARTITION SQLSERVER RANK 并列第一

https://blog.csdn.net/weixin_41896770/article/details/107625845

一张学生表【姓名、班级、分数】,查询出每个班级成绩排第一的同学(按照班级的分数排名)

其中RANK() OVER()和DENSE RANK() OVER()的区别需要注意,也就是如果遇到一个并列第一的情况,其后一名是第二名还是第三名的叫法!

 

 那么和GROUP BY有什么区别呢?

 

GROUP BY 一般只是分组,和聚合函数一起使用,而OVER(PARTITION BY)还有一些高级功能

如果把RANK()换成是ROW_NUMBER()会是什么个情况呢?

将不会出现并列第一的排名,这个需要注意!

 

标签:班级,GROUP,OVER,PARTITION,SQLSERVER,RANK,并列第一
From: https://www.cnblogs.com/Dongmy/p/16961882.html

相关文章

  • 131.palindrome-partitioning 分割回文串
    问题描述131.分割回文串解题思路利用动态规划来判断字符串是否是回文串:-if(s[i]==s[j])dp[i][j]=dp[i+1][j-1];这里遍历的时候要注意i的遍历顺序;最后考......
  • Sales Process Overview
    SalesProcessing:  ShippingProcessing:creatingdeliverypicking PostGoodsIssue  BillingProcessing:creatingbillingdocument  ......
  • sqlserver恢复数据
    若出事故的你希望能通过本文来弥补之前的错误。那么在开始阅读本文之前请先确认误操作库之前是否有一次完整数据库备份,若没有请不要再往下看了本文全程的操作仅需10分钟左......
  • SQLServer查询语句执行计划
    一、使用SQL执行计划看SQL语句执行计划有三种方式:①快捷键按Ctrl+L;②选中要执行的SQL然后点击右键,弹出的菜单里面选“显示估计的执行计划”;③按Ctrl+M打开显示执行计划窗......
  • SQLServer 判断表是否存在
    1、判断数据表是否存在方法一:useyourdb;goifobject_id(N'tablename',N'U')isnotnullprint'存在'elseprint'不存在'例如:usefireweb;goifobject_id(......
  • element ui的selecte的选择框多选,出hover提示,文字和数量展示一行
     <el-tooltipclass="itemhello":disabled="isTooltipDisabled":content="selectTooltipArr.join(',')"      placement="top-start">      ......
  • 修改SqlServer默认端口 1433
    修改成需要的端口;防火墙出站入站规格需要修改一下;重启SqlServer服务;     ......
  • Kettle:跨库(SQLServer->PostgreSQL)同步多张表数据的详细设计过程
    〇、参考地址1、多个Excel实现同步​​https://www.wangt.cc/2021/05/kettle%E5%A4%9A%E4%B8%AA%E8%A1%A8%E4%B8%80%E8%B5%B7%E8%BF%81%E7%A7%BB-%E9%80%9A%E8%BF%87%E9%85%......
  • SQLServer触发器创建、删除、修改、查看
    一:触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。二:SQ......
  • MS SQLServer 2005 分区表的使用(表分区)
    一直以来,都以数据表单表记录数作为标尺,凡是大于100W的则使用Oracle等数据库,小于100W的才考虑使用MicrosoftSQLServer.在SQLServer2000的时候为了能够适应100W以上的数......