Сравнение строки с предыдущей строкой - PullRequest
0 голосов
/ 01 марта 2012

Я пытаюсь выбрать один раз строки, которые имеют (некоторые указаны) те же значения, что и предыдущая строка.

Я могу выбрать, что я хочу, как показано ниже:

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, что должны отображаться только дубликаты?

Я имею в виду, что хочу что-то вроде (этот doent работает, но помещая его только, чтобы вы поняли, что я пытаюсь):

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

Спасибо, привет

1 Ответ

3 голосов
/ 01 марта 2012

Я думаю, что вы хотите:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...