Oracle 按相同数据连续统计

来源:这里教程网 时间:2026-02-27 14:32:06 作者:

Oracle 按相同数据连续统计 CREATE TABLE TEST(ID NUMBER(20),val NUMBER(20))INSERT INTO TEST VALUES(1,5);INSERT INTO TEST V

Oracle 按相同数据连续统计

create table test(
id number(20),
val number(20)
)
insert into test values(1,5);
insert into test values(2,10);
insert into test values(3,10);
insert into test values(4,10);
insert into test values(5,6);
insert into test values(6,6);
insert into test values(7,10);
insert into test values(8,10);

 


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

ORDER BY MIN(ID);

可根据自己的情况自由发挥

相关推荐