本文介绍: HiveSQL题——排序函数(row_number/rank/dense_rank)
一、窗口函数的知识点
1.1 窗户函数的定义
窗口函数可以拆分为【窗口+函数】。窗口函数官网指路:
1.2 窗户函数的语法
<窗口函数>window_name over ( [partition by 字段…] [order by 字段…] [窗口子句] )
ps: over()里面有order by子句,但没有窗口子句时 ,即: <窗口函数> over ( partition by 字段… order by 字段… ),此时窗口子句是有默认值的—-> rows between unbounded preceding and current row (上无边界到当前行)。
此时窗口函数语法:<窗口函数> over ( partition by 字段… order by 字段… ) 等价于
<窗口函数> over ( partition by 字段… order by 字段… rows between unbounded preceding and current row)
需要注意有个特殊情况:当order by 后面跟的某个字段是有重复行的时候, <窗口函数> over ( partition by 字段… order by 字段… ) 不写窗口子句的情况下,窗口子句的默认值是:range between unbounded preceding and current row(上无边界到当前相同行的最后一行)。
1.3 窗口函数分类
1.4 排序函数
二、实际案例
2.1 每个学生成绩第二高的科目
0 问题描述
1 数据准备
2 数据分析
3 小结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。