数据表选择两列的最大总和

时间:2017-05-04 15:57:28

标签: vb.net select datatable sum max

我有一个包含数据的数据表:

Id | Val1 | Val2
 0 |  0   |   1
 1 |  3   |   0
 2 |  0   |   3
 3 |  2   |   1

我需要知道Val1 + Val2的SUM的MAX值(在示例表中为3),然后提取具有这些值的行。

我知道如何使用以下方式提取行:

MyTable.Select("(Val1 + Val2) = 3")

但我无法得到总和的最大值,所以把它放入“选择”

1 个答案:

答案 0 :(得分:1)

我认为你必须循环遍历表以找到最大总和,这可以使用LINQ来完成:

Dim maxSum = (
    From r In MyTable.AsEnumerable()
    Select r.Field(Of Integer)("Val1") + r.Field(Of Integer)("Val2")
).Max()

然后在你的选择中使用它:

MyTable.Select("(Val1 + Val2) = " & maxSum)