SQL - Функция задержки красного смещения получает дубликаты - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть таблица ниже

ID  Type  Sub_ID   Date    CNT
A    P     A1    4/1/2020   5
A    P     A2    4/5/2020   NULL
A    P     A3    4/8/2020   NULL

То, что я хочу получить, это

ID  Type  Sub_ID   Date    CNT    LAG
A    P     A1    4/1/2020   5     NULL
A    P     A2    4/5/2020   NULL   5
A    P     A3    4/8/2020   NULL   NULL

У меня есть ниже запросы, но это дает мне дубликаты, такие как

ID  Type  Sub_ID   Date    CNT    LAG
A    P     A1    4/1/2020   5     NULL
A    P     A1    4/1/2020   5      5 (duplicate)
A    P     A2    4/5/2020   NULL   5 
A    P     A2    4/5/2020   NULL   NULL (duplicate)
A    P     A3    4/8/2020   NULL   NULL

select *, lag(cnt,1) over (partition by id, type order by date)
from mytable

Ничего плохого?

1 Ответ

0 голосов
/ 15 апреля 2020

Хорошо ... У меня в таблице дубликаты данных. Нужно сначала выполнить дедупликацию, а затем выполнить задержку поверх очищенной таблицы

...