Таблица трансформации с ранжированием - PullRequest
0 голосов
/ 27 ноября 2018

Я застрял в один момент.У меня есть таблица code_table, например:

| code |
--------
| b    |
| c    |
| c    |
| ff   |
| a    |
| f    |
--------

Но мне нужен такой результат:

| code | id |
-------------
| b    | 2  |
| c    | 3  |
| c    | 3  |
| ff   | 5  |
| a    | 1  |
| f    | 4  |
-------------

Я полагаю, мне нужно использовать аналитическую функцию, такую ​​как DENSE_RANK ()Но мои испытания не дали мне нужного результата.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 27 ноября 2018

Вы бы использовали его как:

select code, dense_rank() over (order by code) as ranking
from t;

Ваши исходные данные не имеют очевидного порядка.Это может вернуть строки в порядке ranking.Невозможно восстановить исходный порядок, если только у вас нет столбца, в котором указан этот порядок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...