首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

百分 Linq查询 DataTable 分组 多列求和

2012-03-04 
百分求助 Linq查询 DataTable 分组多列求和DataTable例子如下:(当然数据远不止这些)Nameabcdefg卡卡214567

百分求助 Linq查询 DataTable 分组 多列求和
DataTable例子如下:(当然数据远不止这些)

  Name a b c d e f g
  卡卡 2 1 4 5 6 7 9 
  梅西 2 4 1 5 6 7 9
  保罗 7 6 3 5 6 7 9
  卡卡 9 3 5 5 6 7 9
  梅西 6 7 4 5 6 7 9
  保罗 8 9 8 5 6 7 9  

我现在想用 linq 实现 按 Name分组 在把后面的列值求和 
实现效果如下:

  Name a b c d e f g 当然 b c d e f g 列均需要求和
  卡卡 a列Name为卡卡的和 1 4 5 6 7 9 
  梅西 a列Name为卡卡的和 4 1 5 6 7 9
  保罗 a列Name为卡卡的和 6 3 5 6 7 9

希望问题已经表速明白,麻烦大侠给解答下,谢谢

[解决办法]

C# code
var Query=from t in table    group t by t.name    select new{name=g.key,a=g.sum(v=>v.a),b=g.sum(v=>v.b),.....}
[解决办法]
var re = from t in datatable
group t by new {t.a,
t.b,
t.c,
t.d} into g
select new {g.key,
e=g.Sum(k => k.a)};

[解决办法]
var table = from t in _dt3.AsEnumerable()
group t by t.Field<string>("Name0") into s
select new
{
Name0 = s.Key,
Name1 = s.Sum(v => v.Field<string>("Name1")),
Name2 = s.Sum(v => v.Field<string>("Name2")),
Name3 = s.Sum(v => v.Field<string>("Name3")),
Name4 = s.Sum(v => v.Field<string>("Name4")),
Name5 = s.Sum(v => v.Field<string>("Name5")),
Name6 = s.Sum(v => v.Field<string>("Name6")),
Name7 = s.Sum(v => v.Field<string>("Name7"))
};

热点排行