在线等,sql求助~~~~

带带me 2016-10-31 10:47:02
vcno period
vc001 1
vc001 2
vc001 5
vc001 6
vc001 7
vc002 4
vc004 2
vc002 6
vc005 11
数据如上 , 取出period连续出现最大期次?
结果为
vc001 3
vc002 1
vc004 1
vc005 1
...全文
442 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
z123zjf 2016-10-31
  • 打赏
  • 举报
回复
with t(v,p) as(select 'vc001',1 from dual union select 'vc001',2 from dual union select 'vc001',5 from dual union select 'vc001',6 from dual union select 'vc001',7 from dual union select 'vc002',4 from dual union select 'vc004',2 from dual union select 'vc002',6 from dual union select 'vc005',11 from dual) select v, max(cnt) from (select v, pr, count(*) cnt from (select v, p, p - row_number() over(partition by v order by p) pr from t) group by v, pr) group by v order by v
js14982 2016-10-31
  • 打赏
  • 举报
回复
vc001 5 vc001 6 vc001 7 这是算是3次? 那 vc002 的1次是怎么算出来的?
sych888 2016-10-31
  • 打赏
  • 举报
回复
with t as(select 'vc001' t1,1 p1 from dual union select 'vc001',2 from dual union select 'vc001',5 from dual union select 'vc001',6 from dual union select 'vc001',7 from dual union select 'vc002',4 from dual union select 'vc004',2 from dual union select 'vc002',6 from dual union select 'vc005',11 from dual) select ttt.t1,max(cn) from (select tt.t1,count(*) cn from (SELECT t1,p1-row_number() over(partition by t1 order by p1) rn from t) tt group by tt.t1,tt.rn) ttt group by ttt.t1;

17,137

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧