вот задача, которую мне дали, чтобы получить qty
(количество) на основе outer_index_group
, которые я получаю от dense_rank
col1
,col2
,col3
и inner_index_group от row_number
из col1
,col2
,col3
.
Тут правила:
1) внутри каждого outer_index_group
, если col4
имеет 4055 и 4086, qty
я должен получить в строке inner_index_group
4086, которая обычно в inner_index_group
3 или 2.
2- иначе, если col4
имеет только 4055, получить количество непосредственно из строки.
результат будет таким:
Как ты думаешь, я это сделаю? Я думаю о case when
, но понятия не имею, что делать в этой ситуации.
Большое спасибо.
SELECt col1,col2,col3,col4,qty
,dense_rank() over (order by col1,col2,col3) as outer_index_group
, ROW_NUMBER() over (partition by col1,col2,col3 order by col1,col2,col3) as inner_index_group from table