问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用oracle 实现统计连续数据的长度?

发布网友 发布时间:2022-04-13 19:34

我来回答

4个回答

懂视网 时间:2022-04-13 23:55

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

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

linux

热心网友 时间:2022-04-13 21:03

WITH TMP_01 AS
  ( SELECT 101 nbr , 201301 d_month FROM al
  UNION ALL
  SELECT 101 , 201302 FROM al
  UNION ALL
  SELECT 101 , 201303 FROM al
  UNION ALL
  SELECT 101 , 201306 FROM al
  UNION ALL
  SELECT 102 , 201301 FROM al
  UNION ALL
  SELECT 102 , 201303 FROM al
  UNION ALL
  SELECT 102 , 201304 FROM al
  UNION ALL
  SELECT 103 , 201301 FROM al
  UNION ALL
  SELECT 103 , 201304 FROM al
  UNION ALL
  SELECT 103 , 201306 FROM al
  )
SELECT nbr,
  MAX(DECODE(dif,2,2,0)) ls_2 ,
  MAX(DECODE(dif,3,3,0)) ls_3 ,
  MAX(DECODE(dif,4,4,0)) ls_4 ,
  MAX(DECODE(dif,5,5,0)) ls_5 ,
  MAX(DECODE(dif,6,6,0)) ls_6
FROM
  (SELECT nbr,
    MAX(dif)+1 dif
  FROM
    (SELECT b.nbr nbr,
      MAX(b.d_month) - MIN(b.d_month) dif,
      b.cc cc
    FROM
      (SELECT a.*,
        to_number(a.d_month)-rownum cc
      FROM
        ( SELECT nbr,d_month FROM TMP_01 ORDER BY nbr,d_month
        )a
      ) b
    GROUP BY b.nbr,
      b.cc
    )
  GROUP BY nbr
  )
GROUP BY nbr
ORDER BY nbr;

热心网友 时间:2022-04-13 22:21

slect nbr ,D_MONTH,count(*) from table6 group by nbr, D_MONTH

热心网友 时间:2022-04-13 23:56

select
nbr,
max(case when tot=2 then 1 else 0 end) ls_2,
max(case when tot=3 then 1 else 0 end) ls_3,
max(case when tot=4 then 1 else 0 end) ls_4,
max(case when tot=5 then 1 else 0 end) ls_5,
max(case when tot=6 then 1 else 0 end) ls_6
from
(
select
nbr,
count(1) tot
from
(
select
nbr,
d_month
add_months(d_month,-1*rn+1) inter_val
from(
select
nbr,
d_month,
dense_rank()over(partition by nbr order by d_month) rn
from
tmp_01
) a
) b
group by nbr,inter_val
)c
group by nbr;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
夫妻养狗狗把谁当主人 两人同养狗认谁当主人 什么蔬菜和水果可以美容祛斑呢? vivox60怎么查看参数配置详情 怎样查看vivo手机的屏幕参数? vivo手机怎么看手机参数 vi##手机怎么看配置? 义乌到湖州没有直达快客???必须到南浔?? 湖州到绍兴的汽车有几班? 注销驾考需要本人吗 南亚的地形及气候特点,对其农业生产有什么影响 “东南亚的热带气候与农业生产”谁知道? 分析季风气候特点对我国农业生产的影响 城堡破坏者隐藏角色要通过什么地方才能获得 游戏王卡里各族中攻击力最强的各是哪一张?(包括融合,同调)急!!! 火山恶魔是不是禁卡 游戏王的三个问题,请帮忙回答一下。 游戏王中有游戏王中有哪些卡可以强制对方攻击自己 火山恶魔能带多少张 游戏王第二部游城十代分别都败给谁了?还有要给出集数,谢谢?出 火山卡组的效果怪兽 《游戏王GX》中奥布莱恩的牌组都有什么卡? “火山恶魔”一定要用“烈焰加农炮-三叉戟式”才能特召吗,用“火山口的潜伏者”的效果不能特召吗 游戏王 火山恶魔能从卡组直接特殊召唤吗 游戏王火山恶魔除了卡说的召唤还可以其它的召唤 火山恶魔的介绍 苹果7手机被偷,在关机状态下怎么定位 sai的软笔刷怎么调? iphone7丢了一直关机怎么找回来? SAI水墨笔刷 笔记本wifi功能怎么开启?xp系统。 WindowsXP 笔记本打开WiFi开关 WiFi灯不亮也没有WiFi连接 这是xp系统的笔记本怎么打开wifi开关 windows xp笔记本无线网络硬件开关怎么打开 超级课程表创始人余佳文什么启示 如何评价超级课程表CEO余佳文在《青年中国说》的表现 余佳文怎么了,为什么在道歉 超级课程表创始人上的节目叫什么 超级课程表余佳文是怎么做市场营销的 余佳文的超级课程表是怎么弄的? 手指粗黑应该做什么颜色的美甲 kwgt怎么设置紧凑 插件怎么放大kwgt? kwgt卸载后桌面插件还在吗 oppokwgt怎么重复添加? kwgt桌面插件蓝牙开关时如何才不会出现提示? kwgt插件怎么放到锁屏? kwgt插件不够用怎么办? 为什么kwgt插件在别人的手机显示上很模糊? oracle 统计两列均相同的数量