总和/计数列数据数据表C#控制台应用程序

总和/计数列数据数据表C#控制台应用程序,c#,C#,我连接到ODBC并填充数据表。 根据标识类型,发票为+或负。 我需要按每个标识符对第二列求和。 我目前使用列“标识符”的分组,但它是一个计数,所以不考虑+或-。简单地说,它计算每一步 下面是一个例子 标识符--|发票 1A557-------1------- 2B123-------1------- 1A557---------1------- 1A557-------1------- 2B123-------1------- 9C437-------1------- 我想看的是一个总结。 这是

我连接到ODBC并填充数据表。 根据标识类型,发票为+或负。 我需要按每个标识符对第二列求和。 我目前使用列“标识符”的分组,但它是一个计数,所以不考虑+或-。简单地说,它计算每一步

下面是一个例子

标识符--|发票

1A557-------1-------

2B123-------1-------

1A557---------1-------

1A557-------1-------

2B123-------1-------

9C437-------1-------

我想看的是一个总结。 这是上述情况的结果

1A557-------1-------

2B123-------2-------

9C437-------1-------

这是我目前使用的代码,它不起作用

var accountGroups = completeDT_units.AsEnumerable()
                    .GroupBy(row => row.Field<String>("IDENTIFIER"))
                    .Select(grp => new 
                     { 
                          Account = grp.Key, 
                          Count = grp.Count() 
                     });

您应该使用grp.Sum而不是grp.Count。 比如:

var accountGroups = completeDT_units.AsEnumerable()
                    .GroupBy(row => row.Field<String>("IDENTIFIER"))
                    .Select(grp => new 
                     { 
                          Account = grp.Key, 
                          Count = grp.Sum(row=>row.Field<int>("INVOICE")) 
                     });
var accountGroups=completeDT\u units.AsEnumerable()
.GroupBy(行=>row.Field(“标识符”))
.选择(grp=>new
{ 
Account=grp.Key,
Count=grp.Sum(行=>行字段(“发票”))
});
试试这个:

var accountGroups = completeDT_units.AsEnumerable()
                .GroupBy(row => row.Field<String>("IDENTIFIER"))
                .Select(grp => new 
                 { 
                      Account = grp.Key, 
                      Count = grp.Sum(r => r.Field<int>("INVOICE"))
                 });
var accountGroups=completeDT\u units.AsEnumerable()
.GroupBy(行=>row.Field(“标识符”))
.选择(grp=>new
{ 
Account=grp.Key,
Count=grp.Sum(r=>r.Field(“发票”))
});
var accountGroups = completeDT_units.AsEnumerable()
                .GroupBy(row => row.Field<String>("IDENTIFIER"))
                .Select(grp => new 
                 { 
                      Account = grp.Key, 
                      Count = grp.Sum(r => r.Field<int>("INVOICE"))
                 });