相关疑难解决方法(0)

高效的DataTable Group By

我想在DataTable上执行聚合查询以创建另一个DataTable.我无法改变用于创建初始DataTable的SQL.

原始DataTable :(一切都是int)

TeamID | MemberID
-------|-----------
1      | 1
1      | 2
1      | 3
2      | 4
2      | 5
Run Code Online (Sandbox Code Playgroud)

期望的结果:

TeamID | MemberIDCount
-------|--------------
1      | 3
2      | 2
Run Code Online (Sandbox Code Playgroud)

如果它是SQL我可以做

Select TeamID, Count(*) From Table Group By TeamID
Run Code Online (Sandbox Code Playgroud)

但在我的应用程序中,我知道如何处理这个的唯一方法是这样的:

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

c# asp.net datatable

13
推荐指数
2
解决办法
8万
查看次数

分组和求和数据表

我有包含以下数据的数据表

Number   Type   Order  count
1        1      R       1
1        1      R       1
1        1      R       1
1        2      R       1
Run Code Online (Sandbox Code Playgroud)

我希望得到这个结果

Number   Type   Order  count
1        1      R       3
1        2      R       1
Run Code Online (Sandbox Code Playgroud)

如何按三列分组

  var result = dt.AsEnumerable()
                 .GroupBy(x => {x.Field<string>("Number"))//need to group by Type and order  also need to sum te total counts
Run Code Online (Sandbox Code Playgroud)

c# asp.net datatable dataset

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

asp.net ×2

c# ×2

datatable ×2

dataset ×1