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"))
};