Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)

这篇具有很好参考价值的文章主要介绍了Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、区别:

三者通常都会配合窗口函数over(),并结合partition by order by xxx来分组排序,即形式使用:function_name over(partition by xxx order by xxx)。首先三者都是产生一个自增序列,不同的是

row_number() 排序的字段值相同时序列号不会重复,如:1、2、(2)3、4、5(出现两个2,第二个2继续编号3)

rank() 排序的字段值相同时序列号会重复且下一个序列号跳过重复位,如:1、2、2、4、5(出现两个2,跳过序号3,继续编号4)

dense_rank() 排序的字段值相同时序列号会重复且下一个序列号继续序号自增,如:1、2、2、3、4(出现两个2,继续按照3编号)

二、举例介绍

有如下学生成绩表:student_score(假设只有一个学生多门课程)

统计每个学生各科成绩由高到低排序,语句如下:

SELECT
    row_number() over(partition by name order by score DESC) AS row_number,
    rank() over(partition by name order by score DESC) AS rank,
    dense_rank() over(partition by name order by score DESC) AS dense_rank,
    name,
    subject,
    score
FROM

统计结果如下图所示:

Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)

从上图结果可以看出区别

Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)

row_number 排序字段值相同时,序号不同,下一个序号顺序自增

rank 排序字段值相同时,序号相同,下一个序号跳跃自增

dense_rank 排序字段值相同时,序号相同,下一个序号顺序自增文章来源地址https://www.toymoban.com/news/detail-416148.html

到了这里,关于Hive的Rank排名(rank函数,dense_rank函数,row_numer函数)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ROW_NUMBER()、RANK()、DENSE_RANK区别

    ROW_NUMBER()、RANK()、DENSE_RANK区别 ROW_NUMBER() :排序,不会有重复的排序数值。对于相等的两个数字,排序序号不一致 数值 排序序号 1 1 1 2 2 3 DENSE_RANK() :排序,可有重复值。对于相等的两个数字,排序序号一致 数值 排序序号 1 1 1 1 2 2 RANK() :排序,可有重复值。对于相等的两

    2024年02月11日
    浏览(33)
  • 深入浅出TensorFlow2函数——tf.rank

    分类目录:《深入浅出TensorFlow2函数》总目录 语法 参数 input : tf.Tensor 或 tf.SparseTensor name :[可选] 操作的名称 返回值 张量 input 的维度,是一个 int32 类型的张量 实例 输入: 输出: 函数实现

    2024年02月12日
    浏览(43)
  • matlab函数 状态空间系统ss、能控性矩阵ctrb、矩阵的秩rank、能控标准型canon、零极点配置place、系统极点pole等函数(线性定常系统)

    如果已知线性定常系统的ABCD四个矩阵,可以得到状态空间系统 其他更具体的用法请直接看帮助文档。 用法:ss(A,B,C,D) 假如 可以输入 最后得到 判断系统是否能控,可以用能控性矩阵是否奇异进行判断。ctrb函数用来生成能控性矩阵,rank用来判断矩阵的秩 对于线性定常系统

    2024年02月10日
    浏览(62)
  • Lora升级!ReLoRa!最新论文 High-Rank Training Through Low-Rank Updates

    关注公众号TechLead,分享AI与云服务技术的全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 尽管通过扩展导致具有数千亿参

    2024年02月10日
    浏览(42)
  • [hive] 窗口函数 ROW_NUMBER()

    在 Hive SQL 中, ROW_NUMBER() 是一个用于生成行号的窗口函数。 它可以为 查询结果集中的每一行分配一个唯一的行号 。 以下是 ROW_NUMBER() 函数的基本语法: PARTITION BY 子句可选,用于指定 分区列 ,它将结果集划分为不同的分区。 每个分区内的行都会有独立的行号计数,即行号

    2024年02月07日
    浏览(38)
  • Elasticsearch:倒数排序融合 - Reciprocal rank fusion

    注意 :RRF 在 Elastic Stack 8.8 中正式提供。 倒数排序融合(RRF)是一种将具有不同相关性指标的多个结果集组合成单个结果集的方法。 RRF 无需调优,不同的相关性指标也不必相互关联即可获得高质量的结果。该方法的优势在于不利用相关分数,而仅靠排名计算。相关分数存在

    2024年02月08日
    浏览(38)
  • Elasticsearch:倒数排序融合 - Reciprocal rank fusion (RRF)

    注意 :RRF 在 Elastic Stack 8.8 中正式提供。 倒数排序融合(RRF)是一种将具有不同相关性指标的多个结果集组合成单个结果集的方法。 RRF 无需调优,不同的相关性指标也不必相互关联即可获得高质量的结果。该方法的优势在于不利用相关分数,而仅靠排名计算。相关分数存在

    2024年02月13日
    浏览(40)
  • Elasticsearch:崭新的打分机制 - Learning To Rank (LTR)

    警告 :“学习排名 (Learning To Rank)” 功能处于技术预览版,可能会在未来版本中更改或删除。 Elastic 将努力解决任何问题,但此功能不受官方 GA 功能的支持 SLA 的约束。 注意 :此功能是在版本 8.12.0 中引入的,并且仅适用于某些订阅级别。 有关更多信息,请参阅 https://www.

    2024年04月25日
    浏览(32)
  • pytorch 分布式 Node/Worker/Rank等基础概念

    分布式训练相关基本参数的概念如下: Definitions Node  - A physical instance or a container; maps to the unit that the job manager works with. Worker  - A worker in the context of distributed training. WorkerGroup  - The set of workers that execute the same function (e.g. trainers). LocalWorkerGroup  - A subset of the workers in the worker g

    2024年02月02日
    浏览(48)
  • 天池医疗AI大赛[第一季] Rank5解决方案

    一、赛题说明 数据格式 本次大赛数据集包含数千份高危患者的低剂量肺部CT影像(mhd格式)数据,每个影像包含一系列胸腔的多个轴向切片。每个影像包含的切片数量会随着扫描机器、扫描层厚和患者的不同而有差异。原始图像为三维图像。这个三维图像由不同数量的二维图

    2024年04月25日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包