日期:2014-05-17  浏览次数:20798 次

请教一个关于时间的分组sql问题
表的数据:
time                                 rate
---------------------------
2007-3-21                       0.72
2007-3-22                       0.72
2007-3-23                       0.72
2007-3-24                       1.44
2007-3-25                       1.44
2007-3-26                       0.72
2007-3-27                       0.72


我想得到的结果是
rate                   starttime               endtime
--------------------------------------
0.72                   2007-3-21           2007-3-23
1.44                   2007-3-24           2007-3-25
0.72                   2007-3-26           2007-3-27


就是说把各段利率的执行时间分段列出来。注意rate的值不是固定的,时间区间也可能不只3段。我一点思路都没有,有思路发上来也好,多谢


------解决方案--------------------
declare
cursor cur is select * from t3;
FDate date;
FRate number;
begin
open cur;
sRate:=0;
loop
fetch cur into FDate,FRate;
exit when cur%notfound;
--逐条判断
dbms_output.put_line( FDate );
end loop;
close cur;
end;
------解决方案--------------------
不用定义什么游标哦
begin
for c in (select * from xxxx)
loop
...
end loop;
end;