ORACLE, как использовать функцию RANK - PullRequest
0 голосов
/ 25 октября 2018

Доброе утро,

Я не могу получить результат, который я хочу прямо сейчас.

Например, мой код

select 
    a.donor_id AS ID
  , a.date_of_record
  , RANK() OVER (PARTITION BY a.donor_id,a.date_of_record  ORDER BY date_of_record) r_nk
from table a

Результат

ID ----------------Date_of_record-----r_nk
012                12/14/2017         1
012                12/20/2017         1
012                12/20/2017         1

однако я хотел бы показать вот так

 ID ----------------Date_of_record-----r_nk
    012                12/14/2017         1
    012                12/20/2017         1
    012                12/20/2017         2

Я не уверен, почему код выше не работает,

Спасибо большое !!!

1 Ответ

0 голосов
/ 25 октября 2018

В качестве альтернативы вы можете использовать ROW_NUMBER(), чтобы каждая строка получала уникальное значение.

select 
    a.donor_id AS ID
  , a.date_of_record
  , ROW_NUMBER() OVER (PARTITION BY a.donor_id,a.date_of_record  ORDER BY date_of_record) r_nk
from table a
...