test 表中有 num1、num2、num3 3个字段
第一列、第二列、第三列
1 1 1
2 -1 2
3 1 -1
-1 2 1
1 3 2
求每列 -1 之前的最大值
结果是:3、1、2
test 表中有 num1、num2、num3 3个字段
第一列、第二列、第三列
1 1 1
2 -1 2
3 1 -1
-1 2 1
1 3 2
求每列 -1 之前的最大值
结果是:3、1、2
ok了. 查询每列值为 -1的 前一排最近值, 如果该列中没有-1.则返回0.
select t1.c1, t2.c2, t3.c3
from (select nvl (min(c1),0) c1
from test
where rowid =
(select max(rowid)
from test
where rowid < (select rowid from test where c1 = -1)) order by c1) t1,
(select nvl (min(c2),0) c2
from test
where rowid =
(select max(rowid)
from test
where rowid < (select rowid from test where c2 = -1)) order by c2) t2,
(select nvl (min(c3),0) c3
from test
where rowid =
(select max(rowid)
from test
where rowid < (select rowid from test where c3 = -1)) order by c3) t3