如果同分同排名,请认真看看帮助:http://www.foxtable.com/webhelp/topics/2382.htm
Dim drs As List(of DataRow) = DataTables("学生成绩统计表").Select("班级 is not null","语文_分数 desc")
For n As Integer = 0 To drs.Count - 1
If n > 0 AndAlso drs(n)("语文_分数") = drs(n-1)("语文_分数") Then '如果总分和上一行相同
drs(n)("语文_级名") = drs(n-1)("语文_级名") '则排名等于上一行
Else
drs(n)("语文_级名") = n + 1 '设置排名
End If
Next
drs = DataTables("学生成绩统计表").Select("班级 is not null","数学_分数 desc")
For n As Integer = 0 To drs.Count - 1
If n > 0 AndAlso drs(n)("数学_分数") = drs(n-1)("数学_分数") Then '如果总分和上一行相同
drs(n)("数学_级名") = drs(n-1)("数学_级名") '则排名等于上一行
Else
drs(n)("数学_级名") = n + 1 '设置排名
End If
Next