当前位置: 首页 > news >正文

C#高级:数据库中使用SQL作分组处理5(Rank() 排名函数)

一、定义

排名函数:为结果集中的行分配排名序号

二、场景

假设存在
学生成绩表:ID StuID Score Time
我需要查询
1.值同跳号:ScoreRank StuID Score (分组依据:时间,排名依据:分数)
2.值同不跳号:ScoreRank StuID Score (分组依据:时间,排名依据:分数)

三、SQL

 查询结果 1(值同跳号)

-- 1. 值同跳号(RANK)
SELECT RANK() OVER (PARTITION BY Time ORDER BY Score DESC) AS ScoreRank,StuID,Score,Time
FROM 学生成绩表
ORDER BY Time, ScoreRank, StuID;

查询结果 2(值同不跳号)

-- 2. 值同不跳号(DENSE_RANK)
SELECT DENSE_RANK() OVER (PARTITION BY Time ORDER BY Score DESC) AS ScoreRank,StuID,Score,Time
FROM 学生成绩表
ORDER BY Time, ScoreRank, StuID;

结果对比

RANK按条数排,名次可能跳跃;DENSE_RANK按分数档排,名次连续递增。本质是“计条数”还是“计档”之别。

http://www.dtcms.com/a/507448.html

相关文章:

  • 51单片机基础-外部中断INT
  • dz网站恢复数据库阻止网站查到访问者ip
  • 【机器学习05】神经网络、模型表示、前向传播、TensorFlow实现
  • 视频教做家常菜的网站wordpress招商平台
  • 三角洲行动 游戏特色 巨 椰 云手机
  • 正则表达式魔法:用Python Re模块驯服文本数据的艺术
  • 《算法每日一题(1)--- 连续因子》
  • 019数据结构之栈——算法备赛
  • 网站添加内容PHP amp MySQL网站建设宝典
  • 消防有哪些网站合适做烟台网站推广排名
  • Python跳跳棋游戏:从基础实现到高级算法详解
  • gitlab搭建教程以及操作
  • 为什么称 OC 的 UIKit
  • 广州小网站建设天河区pc端网站建设
  • SpringBoot + Vue + Redis 实现验证码登录功能
  • 程序设计基础第3周作业
  • 安卓系统中线程优先级Priority查看方式汇总
  • 北京企业建设网站制作呼叫中心系统解决方案
  • IDEA EmmyLua 配置+调试
  • Win11 微软账户登录后,设置没有同步到新电脑,怎样强制刷新?
  • 网站页面设计教程济宁定制网站建设推广
  • 轮询那些事儿
  • GitLab安装
  • Redis八股
  • 网站gif素材dw做网站背景音乐
  • 做网站编程有钱途么做玩具订制网站好处
  • CI/CD:现代软件开发的持续交付之道
  • 【理论知识】Q/K/V权重矩阵学习笔记
  • 【小增长电商软件分享】微信私域淘宝电商补单/做基础销量:如何有效控制粉丝错货、复购、订单插旗及客服转账返款等常见痛点|粉丝订单管理|电商鱼塘运营方案
  • Tomcat安装与HTML响应实战