有一个表 其中有些数据有两到三条记录,生成的时间不一样,我希望把此类数据筛选出来并取第一次生成到最后一次生成的时间间隔~但现在在嵌套查询的时候就出来问题~~  想请大家帮我看看~~select * from ts where ts.lot= all(
select ts.lot
from ts
where ts.s_number >=2)

解决方案 »

  1.   


    select id,max(dt),min(dt),max(dt)-min(dt) from tb group by id
      

  2.   

    呼呼~~我现在已经把有多条记录的数据取出来了,,现在的问题是 :
    1个数据 对应多条信息 每条信息有一个 start_time,和一个end_time;我要取得第一个start_time到最后一个end_time之间的间距 应该怎么做啊~~~
      

  3.   

    用row_number即可 
     你把你的表结构 以及代表性数据贴出来 和 要什么样的结果
      

  4.   

    例如:
       start_time                  end_time                  no
    1. 2010/6/9   13:47:21         2010/6/9 14:56:11         32451
    2. 2010/6/9   11:09:43         2010/6/9 12:25:26         32451
    3. 2010/6/9   09:05:37         2010/6/9 10:22:54         32451
    4. 2010/6/14  13:47:21         2010/6/9 14:56:11         26467
    5. 2010/6/14  11:09:43         2010/6/9 12:25:26         26467
    1-3条记录  no是一样的 我要求得第3条记录的starttime 到第1条记录的endtime 之间的时间差;
    4-5条记录  no相同  取第5条的starttime 到第4条的endtime 之间的时间差~相同的no可能对应2——4条记录~~
      

  5.   


    例如:
       start_time                  end_time                  no
    1. 2010/6/9   13:47:21         2010/6/9 14:56:11         32451
    2. 2010/6/9   11:09:43         2010/6/9 12:25:26         32451
    3. 2010/6/9   09:05:37         2010/6/9 10:22:54         32451
    4. 2010/6/14  13:47:21         2010/6/9 14:56:11         26467
    5. 2010/6/14  11:09:43         2010/6/9 12:25:26         26467
    1-3条记录  no是一样的 我要求得第3条记录的starttime 到第1条记录的endtime 之间的时间差;
    4-5条记录  no相同  取第5条的starttime 到第4条的endtime 之间的时间差~相同的no可能对应2——4条记录~~
      

  6.   

    select no,max(end_time)-min(start_time) from table group by no
      

  7.   


    我1楼前写的不就可以 怎么不试下select no,min(start_time),max(end_time),min(start_time)-max(end_time) dt
    from tb
    group by 
      

  8.   

    select no,min(start_time),max(end_time),min(start_time)-max(end_time) dt
    from tb
    group by no