oracle 判断数字是否连续,oracle数据库连续相同数据的统计方法

今天小编就为大家分享一篇关于Oracle连续相同数据的统计,内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。

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

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

811c2d33054e1199467067ebe2e4e3d6.png

第一种写法row_number():

SELECT val,COUNT(*)FROM

(SELECT ID,val,

row_number() OVER(ORDER BY ID)-row_number() OVER(PARTITIONBY valORDER BY ID) x

FROM LCY )GROUP BY val,xORDER BY MIN(ID);

第二种rank():

SELECT val,COUNT(*)FROM

(SELECT ID,val,

rank() OVER(ORDER BY ID)-rank() OVER(PARTITIONBY valORDER BY ID) x

FROM LCY)GROUP BY val,xORDER BY MIN(ID);

第三种dense_rank():

SELECT val,COUNT(*)FROM

(SELECT ID,val,

dense_rank() OVER(ORDER BY ID)-dense_rank() OVER(PARTITIONBY valORDER BY ID) x

F