MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
2024-10-20 08:30:33
各班级学生成绩测试表 select * from TMP_A;
实现目的: 按照班级分类后按照分数倒序排序
采用MySQL变量简单实现,SQL如下:
SELECT a.stu_id,a.point,
IF( @className = a.class_name,@rank := @rank + 1,@rank :=1 ) AS rank,
(@className := a.class_name) class_name
FROM TMP_A a, ( select @rank :=0,@className := NULL ) b
ORDER BY a.class_name, a.point DESC ;
最终展示结果如下:
http://blog.csdn.net/gzt19881123/article/details/50503843
最新文章
- TCP三次握手和四次挥手状态变迁解析
- mysql状态取反(0变1,1变0)
- SikuliLibrary 库关键字注释
- Rotate Array
- jQuery操作 input type=checkbox的实现代码
- MySQL学习笔记一
- U盘启动安装CentOS 6.3
- jquery 滚动加载
- Math对象
- QT小技巧学习记录
- EF有外键的查询
- 基于visual Studio2013解决C语言竞赛题之0501挑选素数
- 阿里云ECSserver部署django
- Mysql的转义字符
- 【原创】NuGet 出现“无法初始化 PowerShell 主机,如果将你的 PowerShell 执行策略设置设置为 AllSigned ,请先打开程序包管理控制台以初始化该主机” 错误的解决方法
- 30分钟掌握 C#7
- 如何在你的blog中添加炫酷的飘雪动画效果
- 特殊权限 SUID、SGID、Sticky
- Linux基础知识第四讲,文件内容命令
- django中数据库操作有关部分