2013-04-12 117 views
0

所以我有一个名为'用户'的数据表,看起来像这样。Datatable选择逻辑

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

我试图创建一个函数,将通过并返回用户名与最低的OrderCount。到目前为止,我有下面这样:

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不应超过“金额”列中的内容(已有函数来检查该内容)。

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

回答

0

试试这个:

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

谢谢,非常完美。 – MaylorTaylor