hive窗口函数分组排序并取第一个值_Hive的开窗函数

本文详细介绍了Hive的开窗函数,包括与聚合函数的区别、不同类型的窗口函数如row_number(), rank(), dense_rank()等,以及窗口分析函数如cume_dist, lead(), lag(), first_value()和last_value()。通过这些函数,可以在数据分组后进行更复杂的排序和取值操作。" 74276220,4846971,证明:k-生成树问题的NP-完全性,"['算法', '图论', '复杂性理论']
摘要由CSDN通过智能技术生成

开窗函数和聚合函数的区别:

  • sql标准允许将所有聚合函数用作开窗函数,用over关键字区分开窗函数和聚合函数
  • 聚合函数每组只返回一个值,开窗函数每组可以返回多个值
  • 举例:rum_number()-----作为开窗函数 over (parition by ()----作为聚合函数)

开窗函数的种类:

  • row_number() over():对相等的值不进行区分,相等的值对应的排名相同,序号从1到n连续
  • rank() over():相等的值排名相同,但若有相等的值,则序号从1到n不连续,若有两个人都排在第三名,则没有第4名
c1b91c3b5e74a028217fc250cde56fc2.png
  • dense_rank() over():对相等的值排名相同,但序号从1到n连续,如果又两个人都排在第一名,则排在第2名(假设仅有1个第二名)的人是第3个人
75102eaf3ab0c84346c7f9cb600d2e76.png
  • ntile(n)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值