例如,在数据库(SQL Server)中,一列值如下:
Col1
====
10
5
15
20
5
10
2
这就像整数数据列表。
排名应该是:
Col1 Rank
==== ====
20 1
15 2
10 3
10 3
5 4
5 4
2 5
我尝试过以下方式:
1) First sort the list of data in descending order of "Col1" value
2) Find the index of a particular record using FindIndex() method.
3) Then Rank = Index + 1
但它只有在数据唯一的情况下才有效。当索引返回时,当多行中存在相同的“Col1”值时,它会失败0, 1, 2, 3, 4, 5, 6
。
当列表包含使用 C# LINQ 不不同的数据(在大多数情况下!)时,如何计算排名?