zoukankan      html  css  js  c++  java
  • Hive rank函数开窗

    表数据如下

    select * from score;
    
    score.name	score.subject	score.score	r1	r2	r3
    大海	语文	94	1	1	1
    大海	英语	84	2	2	2
    大海	数学	56	3	3	3
    婷婷	数学	85	1	1	1
    婷婷	英语	78	2	2	2
    婷婷	语文	65	3	3	3
    孙悟空	数学	95	1	1	1
    孙悟空	语文	87	2	2	2
    孙悟空	英语	68	3	3	3
    宋宋	数学	86	1	1	1
    宋宋	英语	84	2	2	2
    宋宋	语文	64	3	3	3
    

    函数说明: 

    RANK() 排序相同时会重复,总数不会变
    DENSE_RANK() 排序相同时会重复,总数会减少
    ROW_NUMBER() 会根据顺序计算

    select *,rank() over(distribute by name sort by score desc) r1,dense_rank() over(distribute by name sort by score desc) r2, row_number() over(distribute by name sort by score desc) r3 from score;
    
    score.name	score.subject	score.score	r1	r2	r3
    大海	语文	94	1	1	1
    大海	英语	84	2	2	2
    大海	数学	56	3	3	3
    婷婷	数学	85	1	1	1
    婷婷	英语	78	2	2	2
    婷婷	语文	65	3	3	3
    孙悟空	数学	95	1	1	1
    孙悟空	语文	87	2	2	2
    孙悟空	英语	68	3	3	3
    宋宋	数学	86	1	1	1
    宋宋	英语	84	2	2	2
    宋宋	语文	64	3	3	3
    

      

  • 相关阅读:
    提升PHP执行效率的一些小细节
    linux文件处理命令
    C# file操作
    C# MD5
    C# guid
    C# Path类 Directory类
    MarkDown学习
    从GitHub建站迁移到服务器(Java环境)
    sonarqube在windows上软件安装,配置及使用
    【优化】记录一次方法性能优化
  • 原文地址:https://www.cnblogs.com/noyouth/p/12733357.html
Copyright © 2011-2022 走看看