028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Oracle连续相同数据的统计

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

创新互联公司-成都网站建设公司,专注网站制作、成都做网站、网站营销推广,域名与空间,雅安服务器托管网站托管有关企业网站制作方案、改版、费用等问题,请联系创新互联公司

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

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

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);

结果:

Oracle连续相同数据的统计

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

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

简单介绍一下:

聚合函数

分析函数

数据分析函数

统计求和函数

CUBE :按照OLAP的CUBE方式进行数据统计,即各个维度均需统计

下一篇文章介绍三者的区别,还有其他一些常用的分析函数和聚合函数。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对创新互联的支持。如果你想了解更多相关内容请查看下面相关链接


本文名称:Oracle连续相同数据的统计
文章URL:http://www.tsicrk.com/article/gecppi.html

其他资讯

让你的专属顾问为你服务

1.5854s