从你想完成的目的来看,我们不去管有没有办法用sql选出来,假如有的话,
选出来的记录数一定有很多组,每组两条记录,
而且每组中的记录数有可能会有一条重复,那么得到的结果一定很混乱,就像这样
表中注水量分别为:1,2,3,4,5那么根据你的要求
1-2,1-3,1-4,1-5,2-3,2-4,2-5,3-4,3-5,4-5都是你要的结果,
分析这样的数据有什么价值吗?

解决方案 »

  1.   

    你要的结果,我用一条sql也不会做,所知有限,见谅!
    不过你看这样可否:
    select well_no,vol,date from table order by well_no,date;
    如果需要时间限制也可以加进去。
    这样根据井号和时间排序后来看应该就不是很混乱了,增减都能看到
      

  2.   

    看看你的意思我理解对了没有:
    假设注水记录表如下:
    t_zsjl(
    jh --井号
    rq --日期
    zsl--注水量
    )
    你是要求出同一井,相邻两天注水量差大于1的记录。看看这样行不行:select a.jh 井号,a.rq 日期,a.zsl 当日注水量,b.zsl 次日注水量,a.zsl-b.zsl 两日注水量差 from
    (select jh,rq,zsl from t_zsjl )a,
    (select jh,rq,zsl from t_zsjl )b
    where a.jh=b.jh and a.rq=b.rq+1 and abs(a.zsl-b.zsl)>1如果你的日期字段中还包括时,分,秒,先用TRUNC把时分秒截去,然后在再较日期。
      

  3.   

    TO CHENGXB(大山) :
    我试试
    TO jlandzpa(ORA-00600) :
    同一个表自关联一下是什么意思?
    具体实现语句呢?:)
      

  4.   

    看看 CHENGXB(大山) 的帖子.
      

  5.   

    to hunyuan(混元灵通) :
    上面的SQL多写了一层,直接这样就行了:select a.jh 井号,a.rq 日期,a.zsl 当日注水量,b.zsl 次日注水量,a.zsl-b.zsl 两日注水量差 from t_zsjl a,t_zsjl b
    where a.jh=b.jh and a.rq=b.rq+1 and abs(a.zsl-b.zsl)>1