hive查询dense_rank(),rank(),row_number()的区别


1、hive中查询一组中的前几名,就用到dense_rank(),rank(),row_number()这几个函数,他们的区别在于
rank()就是排序 相同的排序是一样的,但是下一个小的会跳着排序,比如
等级 排序
23 1
23 1
22 3
dense_rank()相同的排序相同,下一个小的会紧挨着排序,比如
等级 排序
23 1
23 1
22 2
这样总个数是相对减少的,适合求某些指标前几个等级的个数。
row_number()就很简单,顺序排序。比如
等级 排序
23 1
23 2
22 3
这种排序 总个数是不变的,适合求某些值的前几名。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM