我有一个像
这样的数据集 Currency amount
USD 1245
INR 564
USD 45645
INR 5676
JPY 5677
我想按货币分组并汇总金额并更新相同的数据集。
最终数据集应该像 -
Currency Amount
USD 46890
INR 6240
JPY 5677
答案 0 :(得分:1)
您可以使用Linq-To-DataTable
和Enumerable.GroupBy
:
var grouped = table.AsEnumerable()
.GroupBy(r => f.Field<String>("Currency"))
.Select( g => new {
Currency = g.Key,
Amount = g.Sum(r => r.Field<int>("amount"))
});
var table2 = table.Clone(); // you can also just use the original table, i just didn't want to merge the data here
foreach(var grp in grouped)
{
var newRow = table2.Rows.Add();
newRow.SetField("Currency") = grp.Currency;
newRow.SetField("amount") = grp.Amount;
}
现在,您可以使用DataAdapter
从DataTable
更新数据库。