我在AccountId中有两列,AgreementId。
我想要另一列,其中前两行将返回1,因为5552是针对同一AgreementId的第一个AccountId .... 接下来的行将全部返回2;它是可以找到的第二个租金帐户。
请知道我该怎么做?
答案 0 :(得分:2)
使用dense_rank()
:
select *,
dense_rank() over (order by AccountId, AgreementId) Seq
from table t;
答案 1 :(得分:2)
您可能需要DENSE_RANK
:
SELECT
AccountId,
AgreementId,
DENSE_RANK() OVER (PARTITION BY AgreementId ORDER BY AccountId) dr
FROM yourTable;
协议分区意味着每个单独的协议都会重置编号。在协议中,我们使用帐户ID来订购密集排名。