HIVE SQL几种不同的分组排序函数比较

news2024/11/29 11:57:39

在这里插入图片描述

--数据建表
drop table if exists db.tb_name;
create table if not exists db.tb_name
( `name` string
	,`class` string
	,score string
)
;
insert overwrite table db.tb_name
values
("a","1","100")
,("b","1","99")
,("c ","1","99")
,("d","2","100")
,("e ","2","100")
,("f ","3","86")
,("g","3","99")
,("h","3","99")
;

1.row_number()

select a.*
	,row_number() over (partition by `class` order by cast(score as bigint) desc) as rn
from 
db.tb_name a
;

查询到的排序结果如下:
在这里插入图片描述

2.rank()

select a.*
	,rank() over (partition by `class` order by cast(score as bigint) desc) as rn
from 
db.tb_name a
;

查询到的排序结果如下:
在这里插入图片描述
3.dense_rank()

select a.*
	,dense_rank() over (partition by `class` order by cast(score as bigint) desc) as rn
from 
db.tb_name a
;

查询到的排序结果如下:
在这里插入图片描述

通过以上三种实例演示,发现row_number()不存在相同位次的情况,即使值大小一致,但在排序的时候,也会顺延往下一位。rank()若存在相同位次,下一个位次的计算会跳过之后的位次。dense_rank()若存在相同位次,下一个位次的计算不会跳过之后的位次,即虽然存在相同位次的情况,但是位次是连续不间断的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/768990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pdf怎么转换成TXT格式?分享这3个方法!

当我们需要从PDF文件中提取文本时,尤其是在收集资料撰写文章或其他文件时,PDF文件的特性可能会造成一些麻烦。PDF文件的版面内容不会受浏览设备的影响,保持着统一的版式,但同时也不易于编辑和修改。因此,常见的解决方案…

基于SSM+Vue的汉服文化平台网站设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

CleanMyMac X2023中文版升级下载及功能讲解

CleanMyMac X是一款功能强大的Mac系统优化和清理工具。它提供了一系列功能来帮助您优化和保护您的Mac电脑。coco玛奇朵要来分享的是Mac下一款强大、实用的系统清理软件——CleanMyMac,它可以帮助您快速清理系统垃圾,清理Photos重复照片,卸载软…

仿大众点评项目 —— 各阶段详细笔记总结

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

【MySQL】MySQL8.1.0版本正式发布带来哪些新特性?

文章目录 前言一、畅谈新版本二、8.1.0版本部署2.1、环境准备2.2、配置yum安装依赖2.3、用户及目录创建2.4、创建用户及组2.5、解压缩包2.6、环境变量配置2.7、创建参数文件2.8、数据库初始化2.9、启动Mysql2.10、登陆MySQL 8.1 三、新特性3.1、密码参数3.2、错误日志加强3.3、…

第三章:内存

一、内存的基础知识二、内存管理的概念2.1 **内存空间的扩充技术**2.2 内存空间的分配与回收2.2.1 连续分配管理方式2.2.2 动态分区分配算法2.2.3 非连续分配管理方式2.2.3.1 **基本分页存储管理**2.2.3.2 基本地址变换结构2.2.3.3 具有快表的地址变换机构2.2.3.4 俩级页表2.2.…

使用更少数据训练更好的alpaca

概述 该论文的研究背景是指令微调在大型语言模型中取得了重要的成果,但现有的训练数据质量问题导致模型性能下降。 过去的方法主要是使用低质量的数据进行指令微调,这些数据中存在错误或无关的回答,导致结果误导和训练成本增加。该论文的方…

赫达转债,明电转02上市价格预测

赫达转债 基本信息 转债名称:赫达转债,评级:AA-,发行规模:6.0亿元。 正股名称:山东赫达,今日收盘价:18.72元,转股价格:17.4元。 当前转股价值 转债面值 / 转…

代码测试工具Fortify最新版本介绍及实操

代码测试工具是安全测试、代码审计中经常会用到的一款软件测试工具,支持超过27种语言,超过911,000个组件级API,覆盖810多个SAST漏洞分类。通过Fortify的安全编码规则库,可以定位漏洞根本原因,参考漏洞修复指南。Fortif…

社媒营销:如何使用多开浏览器管理多个Facebook账号?

社交媒体营销已成为企业推广产品和服务的重要渠道,目前很多人转战海外。截至目前为止,Facebook仍是全球最受欢迎社交媒体平台的第一名,是产品推广的好平台。 多个Facebook账号的优势: 备用账号 无论你是日常生活分享还是从事fb…

【JS】设置滚动属性默认自动滚动到底部(overflow:scroll;)

文章目录 核心代码应用场景 核心代码 设置滚动属性默认自动滚动到底部: // 获取设置了滚动属性的div标签 const div document.getElementById(conversationalDiv); // 设置滚动的顶点坐标为滚动的总高度 div.scrollTop div.scrollHeight;应用场景 场景&#xff…

生命在于折腾——Obsidian笔记软件折腾记录(一)

一、开端 我使用过很多笔记软件,OneNote-语雀-Notability-GoodNotes-印象笔记-有道云笔记。 不得不说,我一直想拥有一款满足以下条件的笔记软件: 买断制。(符合以下所有条件我考虑订阅)ipad可手写。icloud可同步。Ma…

OA系统增加会议

目录 一.前期准备工作 A.建立数据库会议信息类 B.建立增加会议的jsp界面 1.注意事项 2.存储路径图片展示 C.构建JS 1.构建addmetting.js 2.导入Layui的formSelects(为了下拉框选择值做准备) 二.实现绑定多功能下拉框dao方法 A.查询所有用户 绑…

【UE4 塔防游戏系列】10-防御塔升级

目录 效果 步骤 一、根据防御塔等级修改子弹伤害 二、根据防御塔等级修改子弹速度 三、根据防御塔等级修改检测半径 四、根据防御塔等级修改子弹颜色 五、根据防御塔等级修改换弹时间 效果 步骤 一、根据防御塔等级修改子弹伤害 1. 打开“TowerBaseBullet_Child”&…

C#安装.Net平台科学计算库Math.Net Numerics

工作的时候需要使用到C#的Math.Net库来进行计算。 Math.Net库涵盖的主题包括特殊函数,线性代数,概率模型,随机数,插值,积分,回归,优化问题等。 这里记录一下,安装Math.Net库的过程…

【广州华锐互动】VR商场超市火灾事故应急演练系统

VR商场超市火灾事故应急演练系统由广州华锐互动开发,是一种基于虚拟现实技术的消防演练系统,可以帮助商场管理者和员工在计算机上进行火灾逃生演练,提高应对火灾的能力和安全意识。 首先,VR技术可以提供逼真的三维场景&#xff0…

re学习(19)[ACTF新生赛2020]easyre1(UPX脱壳)

文章链接:BUUCTF在线评测 参考视频:B站 【新手教程三】小Z带你学习什么是ESP定律和什么是堆栈平衡 ? - 『脱壳破解区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn 题解: 工具脱壳 key"*F\"N,\"…

Element+Vue+OpenLayers webgis实战

WebGIS 信息系统-ElementVueOpenLayers ElementVueOpenLayers项目某校园的遥感影像作为底图多语言切换各种语言的配置文件自定义主题样式切换组件过渡动画 ElementVueOpenLayers项目 以 某校园的遥感影像作为底图 ,通过OpenLayers将遥感影像加载到浏览器中&#…

Python的下载与安装教程

Python的下载安装 进入官网Python官网,主页如下 2.点击Downloads,下载最新版本的Python.目前是3.11.4 3.下载完成之后,打开安装包python-3.11.4-amd64.exe进行安装 因为我装了之前的版本,这里是Upgrade Now.正常情况是Instal…

提升车载娱乐体验;优化蓝牙通信,从MTU和连接参数着手

车载开发中,蓝牙通信是一项重要的技术,用于实现车辆与其他设备(如手机、车载音响、传感器等)之间的无线数据传输和通信。蓝牙通信在车载领域有多种应用,例如车辆诊断、音频播放、电话通话、导航信息传输等。 蓝牙通信…