Oracle連續相同資料的統計

2022-09-21 10:06:07 字數 980 閱讀 8848

有些事情始終是需要堅持下去的。。。

今天覆習一下之前用到的連續相同資料的統計。

首先,建立乙個簡單的測試表,這裡過程就略過了,直接上表(真的是以簡單為主,哈哈…)

第一種寫法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);

afgebbxt

第三種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);

結果:三者在這裡的用法只是換湯不換藥,但是在其他的需求裡還是有區別的,比如成績排名。

本章涉及到的知識點是分析函式、聚合函式,除此之外還有資料分析函式和統計求和函式。

簡單介紹一下:

聚合函式

分析函式

資料分析函式

統計求和函式

cube :按照olap的cubeafgebbxt方式進行資料統計,即各個維度均需統計

總結

oracle 連續日期統計

select t2.user id,t2.start time,t2.score t2.win coins from select d.user id,d.start time,d.score d.win coins from select user id to char start time,yy...

杭電 1020 統計連續相同的字元

problem description given a string containing only a z we could encode it using the following method 1.each sub string containing k same characters sh...

統計字串相同且連續字元的數目

昨天同事給我看了一道面試題目,說的是給任意乙個字串,比如 aaaabbccazzggggg 然後寫乙個函式,最後將字串輸出為a4b2c2a1z2g5。起初自己想偏了,想用遞迴來做,想的相對比較複雜。遞迴應該是可以的,有時間再好好研究一下 後來重新整理一下思路,很快就寫出來了。php 如下 funct...