【发布时间】:2013-11-24 12:54:57
【问题描述】:
我有一个数据表(有 2 列):
X Y
AA 100
BB 150
AA 25
BB 10
CC 120
如你所见:
AA值的总和是125
BB值总和是160
CC值总和为120
BB
的最大总和为160我想获得这个值,总和的最大值,其中 sum 是一个 grup 的值,按列 X 值分组,还有那个 X 值。
如何在 VB.NET 中使用 LINQ 做到这一点?
谢谢!
编辑: 这是我正在使用的代码:
Dim marfa = _
From dr In dtMarfuriT _
Group dr By Key = dr("MRF_COD") Into Group _
Let maxim = Group.Sum(Function(dr) dr("MRF_MASA_STABILITA")) _
Select New With { _
Key .cod = Key, _
Key .TopMarfa = Group.First(Function(dr) Group.Sum(Function(drx) CDbl(drx("MRF_MASA_STABILITA"))) = maxim)("MRF_COD"), _
Key .Maximul = maxim}
Dim MasaMaxima As Double = marfa.Maximul
Dim CodulMaseiMaxime As String = marfa.TopMarfa
【问题讨论】:
-
您是否尝试过使用 .GroupBy()、.Sum()、.OrderByDescending() 和 .Take()?
-
其实我想要一组行之和的最大值...
-
我明白了。你自己尝试过LINQ吗?你遇到了什么问题?
-
这是我正在使用的代码 - 在第一篇文章中
标签: .net linq datatable groupwise-maximum