获取唯一值在 table 中出现的次数

Get the number of times a unique value appears in a table

我有一个 table 像这样:

Email | Number
a     |  0.5
a     |  1
a     |  1.1
b     |  5
b     |  3.7

我想保留相同的 table 布局,但根据编号列的排名顺序获取唯一电子邮件的实例编号:

Email | Number | RankOrder
a     |  0.5   |  3
a     |  1     |  2
a     |  1.1   |  1
b     |  7.7   |  1
b     |  6     |  2

如果我没理解错的话,你需要 row_number() 函数(这是大多数数据库中可用的 ANSI 标准函数):

select email, number,
        row_number() over (partition by email order by number desc) as rankorder
from t;

您可以使用窗口化 Row_Number():

Select  Email, Number,
        Row_Number() Over (Partition By Email Order By Number Desc) As RankOrder
From    LikeSo;