数据表选择逻辑

时间:2013-04-12 18:48:38

标签: vb.net select datatable

所以我有一个名为'users'的数据表,看起来像这样。

UserName | Rank | Amount | OrderCount
jsmith   |  2   |  30    |    15
jdoe     |  2   |  30    |    0
japple   |  2   |  30    |    5

我正在尝试创建一个将通过并返回具有最低OrderCount的UserName的函数。到目前为止,我有以下内容:

Function DetermineBestUser(ByVal usertable As DataTable) As String

    Dim bestchoice As DataRow()

    bestchoice = usertable.Select("Rank = 2", "OrderCount ASC")

    Return bestchoice(0)(0).ToString
End Function

我确实已经看到一个问题,我的排名将是1或2.如果用户的排名为1,即使排名为2的用户具有较低的OrderCount,也应该返回。 orderCount永远不会超过Amount列中的值(已经有一个函数来检查)。

所以,在这个例子中,我希望返回jdoe,因为她的OrderCount最低。

1 个答案:

答案 0 :(得分:0)

试试这个:

bestchoice = usertable.Select("", "Rank DESC, OrderCount ASC")