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() - 百分比超过了多少人

相关推荐
Dxy123931021611 小时前
MySQL的SUBSTRING函数详解与应用
数据库·mysql
码力引擎11 小时前
【零基础学MySQL】第十二章:DCL详解
数据库·mysql·1024程序员节
杨云龙UP11 小时前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
l1t11 小时前
利用DeepSeek辅助修改luadbi-duckdb读取DuckDB decimal数据类型
c语言·数据库·单元测试·lua·duckdb
安当加密11 小时前
Nacos配置安全治理:把数据库密码从YAML里请出去
数据库·安全
ColderYY12 小时前
Python连接MySQL数据库
数据库·python·mysql
GW_Cheng12 小时前
达梦数据库适配遇到的一些问题
数据库·国产化·达梦数据库
robin_suli12 小时前
数据库之多版本控制MVCC
java·数据库
姚远Oracle ACE12 小时前
Oracle AWR案例分析:备库太慢,拖垮了主库性能
数据库·oracle
YYAugenstern12 小时前
Oracle常用
数据库·oracle