[英]LINQ sum datatable column where
我有一个LINQ语法,我得到一个列的总和,但我想得到一个列的总和,其中另一列包含一个特定的值。
这是我的语法:
var sum = dt.AsEnumerable().Sum(dra => dra.Field<int>(3));
这里,dt是数据表,3是列索引。 可数据表数据可以是:
a b c d
1 4 6 7
2 0 7 5
2 7 8 6
3 6 9 3
3 5 1 6
对于where条件,数据表列索引为2。
我该如何申请WHERE条件?
var sum = dt.AsEnumerable()
.Where(r => r.Field<int>(2)==value)
.Sum(r => r.Field<int>(3));
var sum = dt.AsEnumerable().Where(dra => ???).Sum(dra => dra.Field<int>(3));
private long getSumFiled(DataTable dt, string sumFiled, string whereField,int intStatus)
{
long sum = dt.AsEnumerable()
.Where(r => r.Field<int>(whereField) == intStatus)
.Sum(x => x.Field<Int64>(sumFiled));
return sum;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.