2012-03-01 9 views
0

私は前回の行と同じ値を持つ行を一度選択しようとしています。行を前の行と比較する

私は次のようにしたいものを選択することができます。

SELECT dpr_ts 
     , dpr_open 
     , dpr_volume 
     , LAG(dpr_open, 1, 0) over(ORDER BY dpr_ts) AS po 
     , LAG(dpr_close, 1, 0) over(ORDER BY dpr_ts) AS pc 
     , LAG(dpr_volume, 1, 0) over(ORDER BY dpr_ts) AS pv 
    FROM dpr 
ORDER BY dpr_ts; 

どのように私は重複して表示されるように、where句にspecifiyができますか?

私は私が何かしたい(このdoent作業を、だけあなたに私がしようとしているどのようなアイデアを得るためにそれを置く)意味:

SELECT dpr_ts 
     , dpr_open 
     , dpr_volume 
     , LAG(dpr_open, 1, 0) over(ORDER BY dpr_ts) AS po 
where po = dpr_volume; 

おかげ 挨拶

答えて

3

私はあなたが何をしたいと思います:

select * 
    from (
    select dpr_ts 
     , dpr_open 
     , dpr_volume 
     , LAG(dpr_open, 1, 0) over(ORDER BY dpr_ts) AS po 
     from dpr 
    order by drp_ts 
    ) x 
where x.po = x.dpr_volume 
関連する問題