SQL_hive的连续开窗函数

SQL三种排序(开窗)第几名/前几名/topN

1三种排序(开窗)第几名/前几名/topN

复制代码
求每个学生成绩第二高的科目-排序

思路

t2表:对每个学生 的所有课程 的成绩排序,定好新列rn;(dense_rank() over (),)(partition by student order by socre)(开窗函数:基于每个student 对 score排序)

复制代码
    select class,student,score,dense_rank() over (
        partition by student order by score DESC
        ) as rn
    from day_sql.day2_kaichaunghanshu

t3表:取a1表中rn=2的数据。

javascript 复制代码
select class,student,score
from (
    select class,student,score,dense_rank() over (
        partition by student order by score
        ) as rn
    from day_sql.day2_kaichaunghanshu
     )t2 where rn=2;

4种排序开窗函数

3种序号排序

rank() -12245

dense_rank() -12234

row_number() -12345

1种百分比排序

percent_rank() - 百分比超过了多少人

相关推荐
GottdesKrieges3 分钟前
OceanBase容量统计:租户、数据库、表大小
数据库·oceanbase
pan30350747915 分钟前
mysql 回表查询(二次查询,如何检查,如何规避)
数据库·mysql
Michaelwubo27 分钟前
elasticsearch-7.17.29 集群案例,k8s方式和原始方式
数据库
TDengine (老段)40 分钟前
TDengine 选择函数 Last() 用户手册
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
little_xianzhong1 小时前
关于对逾期提醒的定时任务~改进完善
java·数据库·spring boot·spring·mybatis
Sally璐璐1 小时前
Go正则表达式实战指南
数据库·mysql·golang
小猪咪piggy1 小时前
【JavaEE】(23) 综合练习--博客系统
java·数据库·java-ee
bikong71 小时前
一种高效绘制余晖波形的方法Qt/C++
数据库·c++·qt
一叶飘零_sweeeet1 小时前
从 0 到 1 攻克订单表分表分库:亿级流量下的数据库架构实战指南
java·数据库·mysql·数据库架构·分库分表
xianyinsuifeng2 小时前
Oracle 10g → Oracle 19c 升级后问题解决方案(Pro*C 项目)
c语言·数据库·oracle