【mysql】排序方法
2024-10-08 06:16:07
查询各科成绩前三名的记录,不考虑并列的情况;
select
a.course_id as 课程ID,
a.score as 成绩,
count(a.course_id) as 排名
from score a left join score b on a.course_id=b.course_id and a.score<=b.score
group by a.course_id,a.score
having count(a.course_id)<4
order by a.course_id,a.score desc;
其中排序方法就是通过同表比对, count(a.course_id) 实际上是统计同一表中有多少个低于(高于)该行分数的行,进而转化为该行的实际排名
最新文章
- windows或mac上对iOS设备截图
- Nim教程【十一】
- DNS劫持解决方法
- viewController的自动扩展属性导致TableViewGroupStyle时向上填充
- hdu 2883 kebab 网络流
- Codeforces Educational Codeforces Round 3 D. Gadgets for dollars and pounds 二分,贪心
- 将“Cocos2dx-截屏并设置图片尺寸 ”中cocos2d-x代码转换为2.2的代码
- 使用asp.net动态添加html元素
- SQL Server Cpu 100% 的常见原因及优化
- Flume简介与使用(二)——Thrift Source采集数据
- Android中的Zip解压缩
- 关于JAVA中抽象类和接口的区别辨析
- Spring Cloud Feign的文件上传实现
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->; “Tab”标签新增可“最大化”显示功能
- Setup script exited with error: command &#39;x86_64-linux-gnu-gcc&#39; failed with exit status 1 解决办法
- 最简单易懂的Spring Security 身份认证流程讲解
- luogu1397 [NOI2013]矩阵游戏 (等比数列求和)
- linux上部署Appach,让文件目录以网页列表形式访问
- git 同步非master分支
- LOJ 530 最小倍数(数论)