使用额外列获取数据集表中的多个值的计数

时间:2015-07-23 09:49:22

标签: c# linq datatable

我有以下代码(来自上一个问题),从数据表中获取父ID的列表和计数;

 var results = dt.AsEnumerable()
            .GroupBy(x => x.Field<int>("ParentID"))
            .Select(x => new { ParentID = x.Key, Count = x.Count() })
            .ToList();

这非常有效,现在,我还想列出同一个名为“DocumentName”的表中的另一列作为结果查询的一部分,保留ParentID的计数,但不知道如何更改代码。

1 个答案:

答案 0 :(得分:0)

使用聚合函数,例如Max

var results = dt.AsEnumerable()
            .GroupBy(x => x.Field<int>("ParentID"))
            .Select(x => new
                    {
                       ParentID = x.Key,
                       DocumentName = x.Max(y => y.Field<int>("DocumentName")),
                       Count = x.Count()
                    }).ToList();