如上图所示:
1、错位相减:time2的时间减去time1的时间,比如“2012-03-19 10:18:53” - “2012-03-19 10:09:33”
2、排序方式是 time1 desc
3、time1 desc 排序后,ID与A的内容不一定是按照顺序下来的,但一定是从大到小排下来的。
比较啰嗦

解决方案 »

  1.   

    图片没有显示,那我就举个例子:
    ID     A              Time1                   Time2  
    12 D203456700   2012-03-19 10:08:01    2012-03-19 10:10:01
    11 D203456600   2012-03-19 10:06:01    2012-03-19 10:08:01
    9  D203456500   2012-03-19 10:04:01    2012-03-19 10:06:01
    8  D203456300   2012-03-19 10:02:01    2012-03-19 10:04:01
      

  2.   

    错位相减:time2的时间减去time1的时间,比如“ 2012-03-19 10:10:01
    ” - “2012-03-19 10:06:01 ”
    用SQL语句怎样写?
      

  3.   

    Date类型……
    time2-time1
    varchar
    to_date(time2,'YYYY-MM-DD hh24:mi:ss')-to_date(time1,'YYYY-MM-DD hh24:mi:ss')
    得到的结果的单位是天……
      

  4.   

    也就是time2的时间减去time1的下一个时间
      

  5.   


    你误解了我的意思,
    比如:
    ID      A           time1           time2   
    3  D202345600       10(时间格式)       11
    2  D202345500        9                10
    我想要的结果是:time2-time1,即11-9,每次都这样计算,相减后作为一列值。
    SQL语句写法?
      

  6.   

    with tb as(
    select 12 ID, 'D203456700' A, '2012-03-19 10:08:01'  Time1,'2012-03-19 10:10:01' Time2 from dual union all
    select 11, 'D203456600' ,'2012-03-19 10:06:01' ,'2012-03-19 10:08:01' from dual union all
    select 9 ,'D203456500' ,'2012-03-19 10:04:01' ,'2012-03-19 10:06:01' from dual union all
    select 8 ,'D203456300' ,'2012-03-19 10:02:01' ,'2012-03-19 10:04:01' from dual)select prior to_date(time2,'yyyy-mm-dd hh24:mi:ss')-  to_date(time1,'yyyy-mm-dd hh24:mi:ss') 
    from tb start with Time2='2012-03-19 10:10:01'  connect by Time2=prior Time1
      

  7.   

    把test_yixl换成你自己的表名:
    select b.time2 begintime, a.time1 endtime, (b.time2 - a.time1)*24*60||' minutes' res
    from 
    (select id, a, time1, time2 , rownum as cnt from test_yixl order by time1 desc) a,
    (select id, a, time1, time2 , rownum as cnt from test_yixl order by time1 desc) b
    where b.cnt + 1 = a.cnt;