【发布时间】:2021-10-14 15:46:54
【问题描述】:
假设我有一个通话记录 DataTable,其中每一行代表一个通话,其中包含以下列: AccountNumber1、AccountNumber2、AccountListDate、AccountDisposition
我想要 GroupBy 列 AccountNumber1 并想要一个具有相同列 + 1 个附加列 NumCalls 的新 DataTable,这将是每个 AccountNumber1 的调用计数。
GroupBy 之后的新数据表: AccountNumber1、AccountNumber2、AccountListDate、AccountDisposition、NumCalls
到目前为止,我有以下内容:
table.AsEnumerable()
.GroupBy(x => x.Field<int>("AccountNumber1"))
.Select(x => new { x.Key.AccountNumber1, NumCalls = x.Count() })
.CopyToDataTable()
这给了我一个只有两列 AccountNumber1 和 NumCalls 的 DataTable。如上所述,我如何获得其他列?我将不胜感激任何帮助。谢谢。
【问题讨论】:
-
您的代码无法编译,因为
Select重载不存在并且CopyToDataTable需要IEnumerable<DataRow>作为输入。 -
另外,如果您只按第一列分组,您想使用哪些行来获取其他列的值?
-
@TimSchmelter 我的错,当我输入示例代码时,我忘记了 Select() 中的新匿名类型声明