0

したがって、次のような「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 つの問題が発生しています。ランクは 1 または 2 になります。ユーザーのランクが 1 の場合、ランク 2 のユーザーの OrderCount が低くても返されるはずです。orderCount は、Amount 列の値を超えてはなりません (それを確認する関数が既にあります)。

したがって、この例では、OrderCount が最も低い jdoe が返されるようにします。

4

1 に答える 1

0

これを試して:

bestchoice = usertable.Select("", "Rank DESC, OrderCount ASC")
于 2013-04-12T18:52:01.560 に答える