首页 > 其他分享 >178.分数排名

178.分数排名

时间:2023-01-08 20:46:33浏览次数:38  
标签:分数 2000 score 3000 178 排名 select

题目描述

编写 SQL 查询对分数进行排序。排名按以下规则计算:

  • 分数应按从高到低排列。
  • 如果两个分数相等,那么两个分数的排名应该相同。
  • 在排名相同的分数后,排名数应该是下一个连续的整数。换句话说,排名之间不应该有空缺的数字。

解题思路

1. 分表查询

  1. 每个分数的排名
select distinct score
from Scores
order by score desc
  1. 分数X的排名
select count(score)
from Scores
order by score desc
where score>=X
  1. 整合两部分
select a.score score,
(select count(distinct b.score) from Scores b where a.score <= b.score) as `rank`
# 注意现在 rank 不加反引号`` 会报错
from Scores a
order by score desc

2. 窗口函数

  1. 窗口函数使用
    函数名([参数]) over(partition by [分组字段] order by [排序字段] asc/desc rows/range
  2. 窗口函数有关排名的算法
  • row_number(): 同薪不同名,相当于行号,例如3000、2000、2000、1000排名后为1、2、3、4
  • rank(): 同薪同名,有跳级,例如3000、2000、2000、1000排名后为1、2、2、4
  • dense_rank(): 同薪同名,无跳级,例如3000、2000、2000、1000排名后为1、2、2、3

标签:分数,2000,score,3000,178,排名,select
From: https://www.cnblogs.com/wwx-tyut/p/17035291.html

相关文章

  • P8599 [蓝桥杯 2013 省 B] 带分数
    题目描述100100 可以表示为带分数的形式:100=3+\frac{69258}{714}100=3+71469258​。还可以表示为:100=82+\frac{3546}{197}100=82+1973546​。注意特征:带分数......
  • 2023年01月编程语言流行度排名
    点击查看最新编程语言流行度排名(每月更新)2023年01月编程语言流行度排名编程语言流行度排名是通过分析在谷歌上搜索语言教程的频率而创建的一门语言教程被搜索的次数越多......
  • java:既约分数
    程序设计辗转相除法是利用以下性质来确定两个正整数a和b的最大公因子的:⒈.若r是a÷b的余数,且r不为0,则gcd(a,b)=gcd(b,r)⒉.a和其倍数之最大公......
  • 【题解】CF1178G The Awesomest Vertex
    题意给定一棵大小为\(n\)的树以及\(m\)个操作,定义一个结点\(u\)的权值为:\(|\sum\limits_{w\inR(v)}a_w|\cdot|\sum\limits_{w\inR(v)}b_w|\)其中\(R(v)......
  • 电脑端钉钉部分数据缓存路径
    表情缓存:目录位置:%AppData%\Roaming\DingTalk\defEmotion头像缓存目录位置:%AppData%\DingTalk\xxxxx_v2\AvatarFiles聊天图片缓存目录位置:%AppData%\DingTalk\xxxxx......
  • ygg的分数运算
    链接:https://ac.nowcoder.com/acm/contest/49343/Dygg的分数运算题目描述\[给定两个数a,b(a,b都是质数)。问是否可以通过对分数\frac{1}{a},\frac{1}{b}​......
  • Luogu P4178 Tree
    LuoguP4178Tree难度:省选/NOI-标签:点分治\(\mathtt{blog}\)\(n\)个点的树,边\((u_i,v_i)\)有边权\(w_i\),询问距离\(\lek\)的点对数量。数据范围:\(n\le4\times......
  • 最新 2022中国大学排名发布~
    最新!2022中国大学排名发布!2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布《2022校友会中国大学排名—高考志愿填报指南》,连续第20年发布校友会中国......
  • 差分数组 前缀和数组
    小结:1、有数组d=[1,2,3,4,5,6],对d[2]到d[4]之间的所有数加上3,变为d=[1,2,6,7,8,6],那么差分数组也就从[1,1,1,1,1,1]变成了[1,1,4,1,1,-2]  Leetcode刷题笔记——差......
  • 黄海广博士,手握 35000+Star,GitHub 全球排名 100!
    今天想跟大家推荐Datawhale的亲密伙伴,常年游走于开源圈的机器学习博士:黄海广。黄博在开源圈具体做了哪几件事呢?且听我细细道来。开源「吴恩达机器学习」课程字幕2014年12......