【业务功能篇26】 ROW_NUMBER() 排名函数 给表单数据增加序列号

news/2024/7/9 5:49:20

业务场景: 当业务在进行月报报表制作时,会有些模块是需要填充当前月的top问题单,那么这些问题单,在第一列就要给标记序列号从1开始的序号,所以这个序号是根据业务选择的问题单后,在根据当前问题单记录进行的序列号填充,比如有3条 那么就是1,2,3,如果业务要换问题单,那么进行替换,但是对应的这个序列依旧是从1开始排序的

所以这种情况下,序号和问题单是没有关联的,那么如何去给这一部分展示的top问题单增加序列号呢?  可以使用 row_number()函数

ROW_NUMBER() 

直接在结果记录添加顺序排序序号

根据排序依据列的值进行连续的顺序排序

SELECT
	ROW_NUMBER () over ( ORDER BY warn_date ) rowNum,
	warn_no warnNo,
	warn_status warnStatus,
	date_format( warn_date, '%Y-%m-%d %H:%i:%s' ) warnDate
	
FROM
	problem_warn_f

 那么rowNum列就是对应的序号列了 

 

 


RANK()  

另外还有:根据排序依据列的值进行连续的顺序排序,但遇到值相同则序号相同

SELECT
	rank() over ( ORDER BY warn_date ) rowNum,
	warn_no warnNo,
	warn_status warnStatus,
	date_format( warn_date, '%Y-%m-%d %H:%i:%s' ) warnDate
	
FROM
	problem_warn_f

可以看到,前面7条 根据日期字段排序,日期相同,序号都为1 ,到了第8条,时间不一样,那么序号就为8 ,会跳过2,3,4...序号 直接来到8   

 


DENSE_RANK() 

根据排序依据列的值进行连续的顺序排序,遇到值相同则序号相同,后续的序号会连续

 

SELECT
	DENSE_RANK()  over ( ORDER BY warn_date ) rowNum,
	warn_no warnNo,
	warn_status warnStatus,
	date_format( warn_date, '%Y-%m-%d %H:%i:%s' ) warnDate
	
FROM
    problem_warn_f

 观察,第8个序号,接着是2,而不是8 


http://lihuaxi.xjx100.cn/news/1247647.html

相关文章

Dockerfile 使用介绍

我们使用 Dockerfile 定义镜像,依赖镜像来运行容器,因此 Dockerfile 是镜像和容器的关键,Dockerfile 可以非常容易的定义镜像内容,同时在我们后期的微服务实践中,Dockerfile 也是重点关注的内容,今天我们就…

RTU遥测终端机的应用场景有哪些?

遥测终端机又称智能RTU遥测终端机,是一种用于采集、传输和处理遥测数据的设备。在现代科技的发展中,遥测终端机扮演着重要的角色。它是一种能够实现远程监测和控制的关键设备,广泛应用于各个领域,包括水文水利、环境监测、工业自动…

基于ENVI和哨兵2数据提取云南玉溪和安宁山火受灾面积

引言 2023年4月11日15时27分,云南省玉溪市江川区九溪镇发生森林火情。当地森林草原防灭火指挥部立即启动应急预案,组织力量扑救。省、市、区各级共投入森林消防、消防救援、公安民警、武警官兵、专业扑火队、民兵、干部群众共计4000余人开展扑救工作,妥善转移安置部分可能受…

小程序开发基础:WXML、WXSS、JavaScript基础语法(上)

小程序开发基础:WXML、WXSS、JavaScript基础语法(上) 本文主要介绍: WXML语言的基本语法WXSS语言的基本语法JavaScript语言的基本语法 WXML语言的基本语法 小程序的开发提供了丰富的API接口和开发工具,能够方便开发…

在做性能测试时会遇到的瓶颈

针对网络瓶颈,现在冒似很少,不过也不是没有,首先想一下如果有网络的阻塞,断网,带宽被其他资源占用,限速等情况,应用程序或系统会是什么情况,针对WEB,无非是超时&#xff…

接口测试和功能测试的区别

目录 前言: 一、测试目的不同 二、测试内容不同 三、测试重点不同 四、总结 前言: 接口测试和功能测试是软件测试中的两种不同类型。接口测试侧重于测试不同模块之间的接口,而功能测试则注重测试完整的业务功能。 一、测试目的不同 接…

Linux:IP地址和主机名

1、IP地址:每个联网的电脑都会有一个地址,用于和其他计算机进行通讯 IP地址目前有两个版本,IPv4和IPv6,目前最常用的是IPv4版本;IPv4版本的地址格式为a:b:c:d,a、b、c、d代表了0-255的数字 Linux中&#xf…

如何在国产OpenEuler操作系统上安装ONLYOFFICE桌面编辑器V7.4版本

如何在国产OpenEuler操作系统上安装ONLYOFFICE桌面编辑器V7.4版本 书接上文: 手把手教你如何解开安装UKUI的黑屏故障 不吵嘴仗,华为的OpenEuler开放欧拉操作系统也是一款不可多得的非常好的Linux发行版,只是, 初装的桌面环境&a…