我想对DataTable执行一个聚合查询来创建另一个DataTable。我无法更改用于创建初始DataTable的SQL。高效DataTable组通过
原始数据表:(一切都是一个int)
TeamID | MemberID
-------|-----------
1 | 1
1 | 2
1 | 3
2 | 4
2 | 5
期望的结果:
TeamID | MemberIDCount
-------|--------------
1 | 3
2 | 2
如果它是SQL我可以做
Select TeamID, Count(*) From Table Group By TeamID
,但在我的应用程序,我知道如何处理这个问题的唯一方法是这样的:
Dictionary<int,int> d = new Dictionary<int,int>();
foreach (DataRow dr in dt.Rows)
{
if (d.ContainsKey(dr.ID))
{
d[dr.ID] = d[dr.ID] + 1;
}
else
{
d.Add(dr.ID, 1);
}
}
有没有更好的方法?
1为使用'System.Data.DataSetExtensions'组件。 – Oliver
很好用!谢谢! –