mysql查询成绩并排名_一条SQL语句实现查询出成绩名次排名
需求描述:
成绩表 编号 姓名 成绩
1 张三 90
2 李四 85
3 王五 100
4 赵六 85
5 汪一 100
6 周九 78
7 何二 56
要求:
排下名次,因为这里有同分,所以必然会出现并列名次。
并列成绩名次排名有两种方式,其一是这样:
A
名次 姓名 成绩
1 王五 100
1 汪一 100
3 张三 90
4 赵六 85
4 李四 85
6 周九 78
7 何二 56
第二种还是这样:
B
名次 姓名 成绩
1 王五 100
1 汪一 100
2 张三 90
3 赵六 85
3 李四 85
4 周九 78
5 何二 56
对于A方式,比较好办,以Access数据库为例(其他数据库语法大同小异,变化一下对应的即可),可以写成这样:
代码示例:
SELECT e.place AS 名次, d.name AS 姓名, d.mark AS 成绩
FROM [select a.id,count(b.id)+1 as place from sc a left join sc b on a.mark < b.mark group by a.id]. AS e INNER JOIN sc AS d ON e.id = d.id;
同时A方式也可以写成这样,效果等同,比上面那句效率低点:
代码示例:
SELECT e.place AS 名次, d.name AS 姓名, d.mark AS 成绩
FROM [select a.id,count(iif(b.id is null,null,b.id))+1 as place from sc a left join sc b on a.mark
mysql查询成绩并排名_一条SQL语句实现查询出成绩名次排名相关推荐
- Student学生表(学号,姓名、性别、年龄、组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩) a、写一个SQL语句,查询选修了计算机原理的学生学号和姓
Student学生表(学号,姓名.性别.年龄.组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩) a.写一个SQL语句,查询选修了计算机原理的学生学号和姓名 sel ...
- mysql语句统计总数_一条sql语句实现统计查询_MySQL
bitsCN.com 一条sql语句实现统计查询 如图:程序员在进行如下的统计时,现在提供两种实现方案: 方案一:运用 SEKECT CASE WHEN EXPLAIN SELECT count(*) ...
- mysql查询数量语句_mysql语句统计总数_一条sql语句实现统计查询_MySQL
bitsCN.com 一条sql语句实现统计查询 如图:程序员在进行如下的统计时,现在提供两种实现方案: 方案一:运用 SEKECT CASE WHEN EXPLAIN SELECT count(*) ...
- mysql select from user_select * from user 这条 SQL 语句,背后藏着哪些不可告人的秘密?...
作为一名 Java开发人员,写 SQL 语句是常有的事,但是你知道 SQL 语句背后的处理逻辑吗?比如下面这条 SQL 语句: select * from user where id=1 执行完这条语 ...
- java mysql查询字段换行,java类中写sql语句,查询条件包含换行
java类中写sql语句,查询条件包含换行 detachedCriteria.add(Restrictions.or( Restrictions.like("chengBanDanWeiId ...
- 查看mysql某人执行了什么语句_一条 SQL 语句是如何在 MySQL 中执行的
MySQL分为Server层和存储引擎层. Server层包括连接器.查询缓存.分析器.优化器.执行器等,涵盖MySQL的大多数核心功能,以及所有的内置函数(如时间.日期.数学和加密函数等),所有跨存 ...
- mysql 平均日营业额_一条SQL语句中算日销售额和月销售额
刚刚做项目的时候用到的 用户表:用户ID,用户名,余额 流水表:时间,用户ID,用户名,类型(0充值,1消费),变更金额 现在要查每个用户的日销售额和月销售额,本来最简单的方法是先把所有用户查出来,然 ...
- 一条SQL语句实现查询每个部门中年龄最大的员工信息
select * from test1 t where not exists(select 1 from test1 where BranchId=t.BranchI ...
- Python3,多种方法,同时执行多条SQL语句,并把查询结果分别写入不同Sheet页,妥妥的学到了。
SqlServer查询结果写入多个Sheet页 1.引言 2.代码实战 2.1 openpyxl写入excel 2.1.1 安装 2.1.2 代码 2.2 pandas写入excel 2.2.1 安装 ...
最新文章
- win10 64位SSDT函数索引动态查找
- 剑指offer 算法 (递归与循环)
- 检测ARM板的RTC
- package报错情况下如何修改
- 2003系统不支持易语言内存皮肤解决方法
- MyBatis中的JdbcType映射介绍
- 杨子江gre填空词汇分类整理
- 神经网络发展的三个阶段,人工神经网络的发展
- VIOS挂载ISO文件
- python回归分析波士顿房价_python 线性回归(Linear Regression)预测波士顿房价
- 当居住产业挺进深水区,数字化能衍生出什么机会?
- CAD2015 C#二次开发 字体变形
- 使用单片机的串口蓝牙通信写的接收SBUF里的数据,并进行发送执行命令,显示在数码管上,波特率9600
- otg android 键盘,使用USB OTG将手机、平板连上键盘、U盘
- 服务器维修预算申请,云服务器费用预算申请范文
- 景安虚拟主机SSL证书导入教程
- failed to collect dependencies at com.desheng:bigscreen-common:jar:1.0-SNAPSHOT
- 常见的加密方法与破解思路
- 具象的东西_具象是什么意思?
- 【多少个星期天】Python