数据表中的求和和分组

时间:2014-07-21 13:44:38

标签: linq datatable grouping

please see the picture fr my requirement

1.Requirement:
以上是我的数据表值的结果 1.需要通过汇总溢价值来对州进行分组 2.需要提到具有最高溢价值的州的地址,城市 3. Linq或for循环对我来说没问题,请帮帮我

感谢, Srikanth Anantharaman

1 个答案:

答案 0 :(得分:1)

您可以使用此LINQ查询填充第二个表:

DataTable newTable = tbl.Clone(); // empty table, same schema
var groupedByState = tbl.AsEnumerable()
    .GroupBy(r => r.Field<string>("State"));
foreach(var group in groupedByState)
{
    DataRow maxPremRow = group.OrderByDescending(r => r.Field<int>("Premium")).First();
    DataRow newRow = newTable.Rows.Add();
    newRow.SetField("State", group.Key);
    newRow.SetField("Address", maxPremRow.Field<string>("Address"));
    newRow.SetField("City", maxPremRow.Field<string>("City"));
    newRow.SetField("Premium", group.Sum(r => r.Field<int>("Premium")));
}