Oracle连续相同数据的统计


本文整理自网络,侵删。

有些事情始终是需要坚持下去的。。。

今天复习一下之前用到的连续相同数据的统计。

首先,创建一个简单的测试表,这里过程就略过了,直接上表(真的是以简单为主,哈哈…)

第一种写法row_number():

SELECT val,COUNT(*) FROM
(SELECT ID,val,
row_number() OVER(ORDER BY ID)-row_number() OVER(PARTITION BY val ORDER BY ID) x
FROM LCY ) GROUP BY val,x ORDER BY MIN(ID);

第二种rank()

 SELECT val,COUNT(*) FROM
(SELECT ID,val,
rank() OVER(ORDER BY ID)-rank() OVER(PARTITION BY val ORDER BY ID) x
FROM LCY) GROUP BY val,x ORDER BY MIN(ID);

第三种dense_rank()

SELECT val,COUNT(*) FROM
(SELECT ID,val,
dense_rank() OVER(ORDER BY ID)-dense_rank() OVER(PARTITION BY val ORDER BY ID) x
FROM LCY )GROUP BY val,x ORDER BY MIN(ID);

结果:

三者在这里的用法只是换汤不换药,但是在其他的需求里还是有区别的,比如成绩排名。

本章涉及到的知识点是分析函数、聚合函数,除此之外还有数据分析函数和统计求和函数。

简单介绍一下:

阅读剩余部分

相关阅读 >>

plsql number型数据

oracle linux 7.1 发布下载

windows10安装oracle19c数据库详细记录(图文详解)

oracle数据库账号被锁定解决方法

oracle日期分组查询的完整实例

oracle数据回滚的全过程

解决oracle乱码的问题

分享oracle 11g client 客户端安装步骤(图文详解)

oracle 闪回技术详细介绍及总结

oracle数据库的备份与恢复案例详解

更多相关阅读请进入《oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...