SQL помогите вставить уникальные значения - PullRequest
0 голосов
/ 26 мая 2020

Мне нужно вставить уникальную комбинацию Ticker, Dividend_Pay_Date в другую таблицу. Если я найду повторяющиеся данные, мне нужно выбрать только строку Dividend_type_marker_description = 'Final'. Я показываю пример исходных данных, где у меня есть повторяющиеся данные для тикера AB C.

Я заметил Dividend_type_marker_description = '2nd Interim' также для той же комбинации даты и тикера. Но не более 3-х статусов

enter image description here

Буду признателен за любую помощь с этим.

1 Ответ

2 голосов
/ 26 мая 2020

Думаю, row_number() делает то, что вы хотите:

select . . . 
from (select t.*,
             row_number() over (partition by ticker, dividend_pay_rate
                                order by (case when Dividend_type_marker_description = 'Final' then 1 else 2 end)
                               ) as seqnum
      from t
     ) t
where seqnum = 1;
...