数据字段: ID   时间  值 
模拟数据:  1    2007-3-1 10 
          1    2007-3-9 12 
          1    2007-3-17 21 
          2    2007-3-7  14 
          2    2007-3-9  16 
          2    2007-3-10 11 
希望获取的数据集:   1  2007-3-1 10 null 
                  1  2007-3-9 12 10 
                  1  2007-3-17 21 12 
                  2  2007-3-7  14 null 
                  2  2007-3-9  16 14 
                  2  2007-3-10 11 16 
即添加一列显示同站点上一时间的值 MS-SQL中 用语句 select * , val = (select top 1 值 from tb where id = t.id and 时间 < t.时间 order by 时间 desc) from tb t
即实现
ORACLE中 语句 select 列 , (select top 1 值 from tb where id = t.id and 时间 < t.时间 order by 时间 desc) as VAL from tb t
提示缺失右括号?
具体哪里有错误?在ORACLE中 该SQL语句应该怎么编写?