mysql - 如果班级有 3 名学生,我如何创建查询来定位百分比
问题描述
我如何创建一个查询来定位百分比,如果班级有 3 个学生的百分比数字将他们定位在相同的数字中,例如 Marks 获得 88%,Smart 获得 85%,Mute 获得 85%,Martin 获得 82%,David 获得76% 和 Mary 得到 62。因此,我希望 Mark 排在 1 号,Smart 和 Mute 排在 2 号,Martin 排在 3 号,David 排在 4 号。插图应该是这样的;
1= Marks`enter code here`
2= Mute`enter code here`
2= Smart`enter code here`
3= Martin`enter code here`
4= David`enter code here`
5= Mary`enter code here`
使用结构查询语言(Mysql)。请帮我查询
解决方案
我认为你需要一个 dense_rank 函数。如果您使用的是 mySql 8.0 或更高版本,您可以使用 -
SELECT STUD_NAME,
DENSE_RANK() OVER(ORDER BY MARKS) RANK
FROM YOUR_TABLE;
推荐阅读
- macos - 带有 COUNT 查询的 Cassandra 超时
- android - 在android中制作响应式视图
- google-cloud-platform - Deployment Manager 模板是否支持 Python 3?
- python - Python:强制导入更喜欢 .py 而不是 .so
- docker - 托管 Node-RED 并运行“不受信任”的流
- android - 我需要结合使用 lambda 函数和列表理解
- python - 为图例的 Line2D 元素中的标记添加错误栏
- php - 无法在 docker php 7.3.5 中启用 php-ast
- neo4j - Neo4jRule :在 Neo4j 测试服务器中包含算法插件(例如 randomWalk)
- ms-access - 访问年龄范围查询不返回年龄小于 1