新手求教

lesswin 2011-03-22 03:00:29
日期 当日盈利
0 80
1 100
2 200
3 -100
4 -5
5 -5
6 -50
7 90
8 800
9 -80

我想输出:最长连续盈利的天数(3)和最长连续亏损的天数(4)
应该如何写?
...全文
78 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lxyzxq2008 的回复:]
我是来看楼主虐待老卓的
[/Quote]

赶紧来帮人家解决问题...
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lesswin 的回复:]
哦 谢谢zhuomingwang
我是新手
还是不太明白……

比如我只关心我的表(t2)中的某一列(当日盈利)

当日盈利
80
100
200
-100
-5
-5
-50
90
800
-80

我想输出:最长连续盈利的天数(3)和最长连续亏损的天数(4)
应该如何写?
[/Quote]

--方法还是类似的啊
--觉得你这个需求有点不好理解,那你按照什么来排序呢?
--假设按照rownum
select decode(sign(cnt),-1,'亏损',1,'盈利',null),max(lv)
from (select cnt,level lv
from (select rownum rn,cnt from tb)
connect by prior rn=rn-1 and prior sign(cnt)=sign(cnt))
group by sign(cnt)
lxyzxq2008 2011-03-22
  • 打赏
  • 举报
回复
我是来看楼主虐待老卓的
changhe325 2011-03-22
  • 打赏
  • 举报
回复
学习~
psufnxk2008 2011-03-22
  • 打赏
  • 举报
回复
学习一下
潘少博 2011-03-22
  • 打赏
  • 举报
回复
lz这属于典型的贪得无厌!
lesswin 2011-03-22
  • 打赏
  • 举报
回复
哦 谢谢zhuomingwang
我是新手
还是不太明白……

比如我只关心我的表(t2)中的某一列(当日盈利)

当日盈利
80
100
200
-100
-5
-5
-50
90
800
-80

我想输出:最长连续盈利的天数(3)和最长连续亏损的天数(4)
应该如何写?
  • 打赏
  • 举报
回复
你只要下面的语句(前面的是提供语句的语句)
select decode(sign(cnt),-1,'亏损',1,'盈利',null),max(lv)
from (select rq,cnt,level lv
from tb
connect by prior rq=rq-1 and prior sign(cnt)=sign(cnt))
group by sign(cnt)

lesswin 2011-03-22
  • 打赏
  • 举报
回复
多谢zhuomingwang
假设这个表(假设名字为T2)很大很大的情况呢?
我想处理的表可能会有100000行左右……
有没有不输入每行数据的方法
  • 打赏
  • 举报
回复

with tb as(
select 0 rq, 80 cnt from dual union all
select 1, 100 from dual union all
select 2, 200 from dual union all
select 3, -100 from dual union all
select 4, -5 from dual union all
select 5, -5 from dual union all
select 6, -50 from dual union all
select 7, 90 from dual union all
select 8, 800 from dual union all
select 9, -80 from dual)
select decode(sign(cnt),-1,'亏损',1,'盈利',null),max(lv)
from (select rq,cnt,level lv
from tb
connect by prior rq=rq-1 and prior sign(cnt)=sign(cnt))
group by sign(cnt)


DECO MAX(LV)
---- ----------
盈利 3
亏损 4

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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