SQL 中的窗口函数

sen*_*120 0 sql

我试图从提供的数据中获取“期望结果”列。我不确定 Windows 函数执行此操作的正确语法。我已经尝试过 row_number 和 RANK 版本,但似乎只能得到正确的结果。任何帮助,将不胜感激。谢谢

ID  TransactionID   Desired Result
33  2681998458900   1
44  2682232081872   1
44  2682232081872   1
44  2682232081872   1
44  2683269923140   2
44  2683269923140   2
44  2683269923140   2
60  2345620067722   1
Run Code Online (Sandbox Code Playgroud)

Avi*_*Avi 5

Select ID, TransactionID, Dense_rank() over (partition by ID order by transactionID) 
Rank 
from table1 
Run Code Online (Sandbox Code Playgroud)

这将给出您预期的结果。密集排名不会跳过排名,并且如果排序列具有相同的值,则会给出相同的排名。