У меня есть таблица:
Мне нужно проставить ранг так, чтобы порядковый номер не увеличивался если в столбце flag присутствуют значения
Я пишу такой запрос, думая, что он мне оставит пустоту если в поле flag есть значения, а остальное проранжирует по порядку, но он мне выдает не тот результат, что нужно:
select *
,case when length(flag) > 0 then null else DENSE_RANK() over (PARTITION by user_id ORDER by product_id) end as rank
from table_1
В идеале мне нужно чтобы порядковый номер просто не увеличивался, если в поле flag есть значения.