Не уверен, что ROW_NUMBER будет работать - PullRequest
0 голосов
/ 09 мая 2018

У меня есть два столбца в AccountId, AgreementId.

enter image description here

Мне нужен еще один столбец, в котором первые две строки возвращают 1, так как 5552 - это перваяAccountId против того же AgreementId .... Следующие строки будут возвращать 2, как и вторая учетная запись аренды, которую он может найти.

Есть идеи, как мне это сделать, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Вы, вероятно, хотите DENSE_RANK здесь:

SELECT
    AccountId,
    AgreementId,
    DENSE_RANK() OVER (PARTITION BY AgreementId ORDER BY AccountId) dr
FROM yourTable;

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

0 голосов
/ 09 мая 2018

Использование dense_rank():

select *,
       dense_rank() over (order by AccountId, AgreementId) Seq
from table t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...