zoukankan      html  css  js  c++  java
  • oracle中的分组排序

    1.首先,需要建表。

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

    image 

    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

    结果:

    image

    结论:

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

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

    结果:

    image

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

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

    结果:

    image

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

  • 相关阅读:
    MySQL 工具
    MySQL 5.1参数
    CentOS 6.2下二进制安装 MySQL 5.6
    Linux 下hosts文件详解
    CentOS 6.5下二进制安装 MySQL 5.6
    云计算之云数据库
    MySQL 卸载
    Linux dig
    CentOS6.5利用Docker部署ShowDoc
    Myeclipse6.5每次打开properties中文注释都会变成乱码
  • 原文地址:https://www.cnblogs.com/zcr3108346262/p/6531425.html
Copyright © 2011-2022 走看看