我有以下查询:
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。我该怎么做。我希望这是有道理的。
答案 0 :(得分:2)
如果我的理解正确,那么您想要partition by
:
LAG(EEEV_CCTR_ID, 1, ' ') OVER (PARTITION BY EEEV_EMPL_ID ORDER BY EEEV_END_DT ASC) AS prev