如何分组和求和操作Datatable

时间:2012-12-27 00:20:25

标签: linq group-by sum

这是我的数据表

Id    Article    Lot      Ordered      Unit Shipment    Difference
1     32207      21309    80           Case 80          0
2     32218      21309    70           Case 60          10
3     32237      22359    50           Case 50          0
4     32255      24299    100          Case 100         0
5     32207      24299    110          Case 110         0
6     32218      21309    80           Case 75          5
7     32237      21309    60           Case 60          0
8     32255      21309    75           Case 75          0

我需要分组依据列文章和批次,以及总和数量列(有序,出货和差异)。

预期结果将是:

Article Lot Ordered Unit    Shipment    Difference
32207   21309   80  Case    80          0
32218   21309   150 Case    135         15
32237   22359   50  Case    50          0
32255   24299   100 Case    100         0
32207   24299   110 Case    110         0
32237   21309   60  Case    60          0
32255   21309   75  Case    75          0

我希望使用Linq获得结果。 任何人都可以帮助我吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

尝试将其转换为 ienumerable ,然后使用linq

<强>已更新

from v in mytable
group v by new {v.Article,v.Lot} into g
select new
{
    Article = g.Key.Article ,
    Lot = g.Key.Lot ,
    Ordered = g.Sum(X=>X.Ordered),
    Unit = g.First(),
    Shipment = g.Sum(X=>X.Shipment),
    Difference = g.Sum(X=>X.Difference) 
}
相关问题