Функция Oracle LAG для каждой уникальной строки - PullRequest
0 голосов
/ 10 октября 2018

У меня следующий запрос:

SELECT
        EEEV_EMPL_ID, 
        EEEV_DT, 
        EEEV_CCTR_ID, 
        LAG(EEEV_CCTR_ID, 1, ' ') OVER(ORDER BY EEEV_EMPL_ID DESC, EEEV_END_DT ASC) AS prev
FROM 
        CDAS.VDWHEEEV1 eeev1
ORDER BY 
        EEEV_EMPL_ID

Таким образом, таблица может иметь несколько строк для каждого EEEV_EMPL_ID.Я хочу отставать для каждой группы уникальных empl_id.Я не хочу отставать от одного empl_id к другому.Поэтому, если это последняя строка группы, значение задержки должно быть равно Null или что-то в этом роде.Прямо сейчас он просто отстает от следующего ряда, даже если это другой empl_id.Как мне это сделать.Я надеюсь, что в этом есть смысл.

1 Ответ

0 голосов
/ 10 октября 2018

Если я правильно понимаю, вы хотите partition by:

    LAG(EEEV_CCTR_ID, 1, ' ') OVER (PARTITION BY EEEV_EMPL_ID ORDER BY EEEV_END_DT ASC) AS prev
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...