2021-01-06-窗口函数-排序

作者: 喝奶茶不加奶茶 | 来源:发表于2021-01-06 22:06 被阅读0次

1、rank() over()--1,2,2,4

select name,
        subject,
        score,
        rank()over(partition by subject order by  score desc) rank  
from student_score;

注意:使用rank()over()的时候,空值是最大的,如果排序字段为null,可能造成null字段排在
最前面,影响排序结果,可以采用如下写法进行规避

select name,
        subject,
        score,
        rank()over(partition by subject order by  score desc nulls last) rank  
from student_score;

2、dense_rank() over()--1,2,2,3

select name,
        subject,
        score,
        dense_rank()over(partition by subject order by  score desc) rank  
from student_score;

3、row_number()over()--1,2,3,4

select name,
        subject,
        score,
        row_number()over(partition by subject order by  score desc) rank  
from student_score;

相关文章

  • 2021-01-06-窗口函数-排序

    1、rank() over()--1,2,2,4 注意:使用rank()over()的时候,空值是最大的,如果排序...

  • 窗口函数和行转列

    窗口函数语法 <窗口函数> over ( [partition by <列清单>] order by <排序用列清...

  • spark SQL利用窗口函数操作hive

    ** * sparksql支持了hive的窗口函数 * 罗列一些窗口函数 * 1.row_number分组排序 *...

  • Hive排序窗口函数

    在开发过程中,经常会遇见排序的场景,比如取top N的问题,这时候row_number(),rank,dense_...

  • Hive

    P8窗口函数需求(二): P9窗口函数需求(三): order by: 对输入做全局排序,所以只有一个reduce...

  • 窗口函数OLAP

    语法:(窗口函数) over(partition by <用于分组的列名> order by <用于排序的列名>)...

  • 窗口函数案例练习(排序)

    第三题:排序 1、每门学科学生成绩排名(是否并列排名、空位排名三种实现)2、每门学科成绩排名top n的学生

  • Hive开窗函数

    一、应用场景: 用于分区排序 动态Group By top N 累计计算 二、函数介绍 1、窗口函数: first...

  • 窗口函数

    窗口函数可以进行排序、生成序列号等一般的聚合函数无法实现的高级操作。理解PARTITION BY和ORDER BY...

  • 一. 窗口函数

    窗口函数(OLAP 实时分析处理函数) ,可以一般聚合函数无法实现的高级操作。诸如排序、生成序列号等功能。目前 D...

网友评论

    本文标题:2021-01-06-窗口函数-排序

    本文链接:https://www.haomeiwen.com/subject/fqpmoktx.html