计算数据列中每个distict项的出现次数

Inf*_*ost 0 c#

我正在使用C#ConoleApplication.

我有ODBC DSN连接,我带入Datatable.第一列是"帐号#".

例:

帐号------------ |

AA1 ------------------- |

AA1 ------------------- |

AA2 ------------------- |

AA3 ------------------- |

AA1 ------------------- |

AA4 ------------------- |

AA2 ------------------- |

我想弄清楚如何给出以下结果.我认为它将被整合到一个新的数据表但我不能使任何代码工作,我尝试过.

帐号------------ | OCCURENCES

AA1 ------------------- | 3

AA2 ------------------- | 2

AA3 ------------------- | 1

AA4 ------------------- | 1

请问我该怎么做?

Tim*_*ter 6

你可以使用Linq-To-DataTableEnumerable.GroupBy:

var accountGroups = table.AsEnumerable()
    .GroupBy(row => row.Field<String>("Account#"))
    .Select(grp => new { Account = grp.Key, Count = grp.Count() });
Run Code Online (Sandbox Code Playgroud)

如果你需要一个新的DataTable:

var tblAccCounts = new DataTable();
tblAccCounts.Columns.Add("Account#");
tblAccCounts.Columns.Add("Count", typeof(int));

foreach(var grp in accountGroups)
    tblAccCounts.Rows.Add(grp.Account, grp.Count);
Run Code Online (Sandbox Code Playgroud)