需求描述:

成绩表 编号 姓名 成绩

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语句实现查询出成绩名次排名相关推荐

  1. Student学生表(学号,姓名、性别、年龄、组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩) a、写一个SQL语句,查询选修了计算机原理的学生学号和姓

    Student学生表(学号,姓名.性别.年龄.组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩) a.写一个SQL语句,查询选修了计算机原理的学生学号和姓名 sel ...

  2. mysql语句统计总数_一条sql语句实现统计查询_MySQL

    bitsCN.com 一条sql语句实现统计查询 如图:程序员在进行如下的统计时,现在提供两种实现方案: 方案一:运用 SEKECT CASE WHEN EXPLAIN SELECT count(*) ...

  3. mysql查询数量语句_mysql语句统计总数_一条sql语句实现统计查询_MySQL

    bitsCN.com 一条sql语句实现统计查询 如图:程序员在进行如下的统计时,现在提供两种实现方案: 方案一:运用 SEKECT CASE WHEN EXPLAIN SELECT count(*) ...

  4. mysql select from user_select * from user 这条 SQL 语句,背后藏着哪些不可告人的秘密?...

    作为一名 Java开发人员,写 SQL 语句是常有的事,但是你知道 SQL 语句背后的处理逻辑吗?比如下面这条 SQL 语句: select * from user where id=1 执行完这条语 ...

  5. java mysql查询字段换行,java类中写sql语句,查询条件包含换行

    java类中写sql语句,查询条件包含换行 detachedCriteria.add(Restrictions.or( Restrictions.like("chengBanDanWeiId ...

  6. 查看mysql某人执行了什么语句_一条 SQL 语句是如何在 MySQL 中执行的

    MySQL分为Server层和存储引擎层. Server层包括连接器.查询缓存.分析器.优化器.执行器等,涵盖MySQL的大多数核心功能,以及所有的内置函数(如时间.日期.数学和加密函数等),所有跨存 ...

  7. mysql 平均日营业额_一条SQL语句中算日销售额和月销售额

    刚刚做项目的时候用到的 用户表:用户ID,用户名,余额 流水表:时间,用户ID,用户名,类型(0充值,1消费),变更金额 现在要查每个用户的日销售额和月销售额,本来最简单的方法是先把所有用户查出来,然 ...

  8. 一条SQL语句实现查询每个部门中年龄最大的员工信息

    select *  from   test1 t where   not   exists(select   1   from   test1   where   BranchId=t.BranchI ...

  9. Python3,多种方法,同时执行多条SQL语句,并把查询结果分别写入不同Sheet页,妥妥的学到了。

    SqlServer查询结果写入多个Sheet页 1.引言 2.代码实战 2.1 openpyxl写入excel 2.1.1 安装 2.1.2 代码 2.2 pandas写入excel 2.2.1 安装 ...

最新文章

  1. win10 64位SSDT函数索引动态查找
  2. 剑指offer 算法 (递归与循环)
  3. 检测ARM板的RTC
  4. package报错情况下如何修改
  5. 2003系统不支持易语言内存皮肤解决方法
  6. MyBatis中的JdbcType映射介绍
  7. 杨子江gre填空词汇分类整理
  8. 神经网络发展的三个阶段,人工神经网络的发展
  9. VIOS挂载ISO文件
  10. python回归分析波士顿房价_python 线性回归(Linear Regression)预测波士顿房价
  11. 当居住产业挺进深水区,数字化能衍生出什么机会?
  12. CAD2015 C#二次开发 字体变形
  13. 使用单片机的串口蓝牙通信写的接收SBUF里的数据,并进行发送执行命令,显示在数码管上,波特率9600
  14. otg android 键盘,使用USB OTG将手机、平板连上键盘、U盘
  15. 服务器维修预算申请,云服务器费用预算申请范文
  16. 景安虚拟主机SSL证书导入教程
  17. failed to collect dependencies at com.desheng:bigscreen-common:jar:1.0-SNAPSHOT
  18. 常见的加密方法与破解思路
  19. 具象的东西_具象是什么意思?
  20. 【多少个星期天】Python

热门文章

  1. 《如果……》拉迪亚德·吉卜林
  2. 5分钟教会学妹使用JavaScript栈解决问题(三)【JavaScript数据结构与算法系列】
  3. npm 版本更新指令
  4. Chainlink: 连接区块链生态的 Web3 服务平台
  5. MDM市场诸侯混战,烽火发布MobileArk战略布局
  6. LaTeX公式-Katex解析
  7. 求最大公约数与最小公倍数(C语言)
  8. 存在外键关联的主表truncate如何做
  9. 实验1 系统响应及系统稳定性
  10. 客户端与服务器的相关概念