1.首先,需要建表。

表名:coursr(失误,表名写错了)

2.我们需要对每个课程进行排序。

3.知识准备:

分组排序函数有3种:

  • row_number() over()
  • rank() over()
  • dense_rank() over()

4.运行

  • row_number() over()
select t.*,
row_number() over(partition by t.coursename order by t.coursescore desc) courserank
from sddbtmp.coursr t

结果:

结论:

可以看出,row_number() over() 这个函数把排序从1开始,不管分数重复不重复。

  • rank() over()
select t.*,
rank() over(partition by t.coursename order by t.coursescore desc) courserank
from sddbtmp.coursr t

结果:

结论:这个函数把排序从1开始,但是当分数重复时,排名会相同,例如有两个第二名时接下来就是第四名(同样是在各个分组内)

  • dense_rank() over()
select t.*,
dense_rank() over(partition by t.coursename order by t.coursescore desc) courserank
from sddbtmp.coursr t

结果:

结论:这个函数把排序从1开始,但是当分数重复时,排名会相同,例如有两个第二名时接下来就是第三名(同样是在各个分组内)

oracle中的分组排序的更多相关文章

  1. Winform中GridView分组排序实现功能

    由于客户最近要扩充公司的业务,之前基于Winform+web开发混合式的系统已经不能满足他们的需求,需要从新对系统进行分区处理. 考虑到系统模块里面用到的GridView视图比较多,我就结合了DevE ...

  2. sql server 中判断分组排序的使用示例

    现在需要查询一组数据,是对一列字段(column01)的数据分范围查询后分组排序: select (case when [column01] >0 AND [column01]<= 500 ...

  3. Oracle中nlssort()函数排序功能

    转自:https://www.iteye.com/blog/libaxiaoyuan-2199851 Oracle9i之前,中文是按照二进制编码进行排序的.在oracle9i中新增了按照拼音.部首.笔 ...

  4. oracle中分组排序函数用法 - 转

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况,如:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示 ...

  5. oracle 分组排序函数

    项目开发中,我们有时会碰到需要分组排序来解决问题的情况:1.要求取出按field1分组后,并在每组中按照field2排序:2.亦或更加要求取出1中已经分组排序好的前多少行的数据 这里通过一张表的示例和 ...

  6. 关于Oracle数据库中SQL空值排序的问题

    在Oracle中进行查询排序时,如果排序字段里面有空值的情况下,排序结果可能会达不到自己想要的结果.   如 select * from tableTest order by VISITS desc ...

  7. 在oracle中,group by后将字符拼接,以及自定义排序

    1.在oracle中,group by后将字符拼接.任务:在学生表中,有studentid和subject两个字段.要求对studentid进行group by分组,并将所选科目拼接在一起.oracl ...

  8. ORACLE中使用row_number over()排序

    from:http://blog.csdn.net/iw1210/article/details/11937085 意图:实现select top 1 * from tablename Oracle  ...

  9. 对于Oracle中分页排序查询语句执行效率的比较分析

    转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分 ...

随机推荐

  1. 搭建wordPress遇到无法连接数据库的问题

    在确认了数据库用户,密码,地址都没有错的情况下,仍然出现无法连接数据库的问题,以至无法安装wordpress 我的wordpress:4.8.1-zh_CN 解决办法: 1.更改php的版本(我的改为 ...

  2. python分支循环

    1.遍历循环 for i in range(5) for i in range (M,N,K) for c in s: for c in 'python' print(c,end="&quo ...

  3. mybatis精讲(四)--ObjectFactory

    目录 前言 mybatis的ObjectFactory 源码 setProperties create instantiateClass 使用场景 # 加入战队 微信公众号 前言 ObjectFact ...

  4. IdentityServer4 自定义授权模式

    IdentityServer4除了提供常规的几种授权模式外(AuthorizationCode.ClientCredentials.Password.RefreshToken.DeviceCode), ...

  5. PowerMock学习(十)之Mock spy的使用

    前言 回顾下之前学过的内容,会发现一点,如果在mock后不写when和thenReturn去指定,即便是mock调用任何方法,什么也不会做,也看不到什么效果. 划重点的时候来了,本身mock出来的对象 ...

  6. Elasticsearch系列---增量更新原理及优势

    概要 本篇主要介绍增量更新(partial update,也叫局部更新)的核心原理,介绍6.3.1版本的Elasticsearch脚本使用实例和增量更新的优势. 增量更新过程与原理 简单回顾 前文我们 ...

  7. Idea创建maven项目,报错xxx already exists in VFS

    1.问题描述: 我打算在父级maven项目中创建子级project,但是一直报错如下: 2.stackover flow中找到了问题的答案, 地址:https://stackoverflow.com/ ...

  8. 3、Docker 基础安装和基础使用 二

    Docker 网络 启动了nginx容器,但却不知道从哪里进行访问nginx. 启动nginx容器,并附加网络映射 在启动nginx容器的时候,增加一个-P大写的P的参数 表示随机映射一个端口 [ro ...

  9. 磁盘格式化、磁盘挂载、手动增加swap空间 使用介绍

    第4周第2次课(4月10日) 课程内容: 4.5/4.6 磁盘格式化4.7/4.8 磁盘挂载4.9 手动增加swap空间 4.5/4.6 磁盘格式化 [root@jimmylinux-002 ~]# ...

  10. mac安装pip

    1.下载get-pip.py curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py SaintKings-Mac-mini ...