表的数据:
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段。我一点思路都没有,有思路发上来也好,多谢

解决方案 »

  1.   

    纯粹用SQL语句还没有想到好的办法,用游标,再用一个临时表是比较好实现的。
      

  2.   

    用游标一条记录一条的判断rate的变化,记录起始位置和截至位置
      

  3.   

    select rate,min(time) starttime,max(time) endtime
    from t
    group by rate
    不知道是不是這個意思
      

  4.   

    方法一:循环比较(for c in (select ...) loop end loop)插入临时表哦
    方法二: 建立一个辅助函数归纳分类(效率应该没有一高吧)不过可以节省空间,特别适用于你的程序不支持存储过程的时候