在where子句中使用分析函数结果

时间:2013-07-31 14:09:44

标签: sql oracle lag

我收到了这个声明:

select ar.*,
LAG(DEST_TIME, 1) OVER (order by FEP_ID) HIT 
from dsyy.archiv ar;

它工作得很好。 现在我想做那样的事情:

select ar.*,
    LAG(DEST_TIME, 1) OVER (order by FEP_ID) HIT 
    from dsyy.archiv ar 
    where ARR_TIME < HIT;

不允许的不幸...... 您能否告诉我如何处理HIT内的专栏where-clouse

很多

1 个答案:

答案 0 :(得分:3)

只需使用子查询:

select ar.*
from (select ar.*,
             LAG(DEST_TIME, 1) OVER (order by FEP_ID) HIT 
      from dsyy.archiv ar 
     ) ar
where ARR_TIME < HIT;