使用LINQ按字段对数据集进行分组,并根据where子句计算另一个数据集的总和

时间:2014-02-23 14:25:26

标签: c# linq

我有这个数据库设计:

StartDate              Number  Branch
2/23/2014 3:00:00 AM   2       1
2/23/2014 3:00:00 AM   3       1

如何使用LINQ按startdate进行分组,并将numberbranch = 1

相加

结果必须能够循环才能得到总数。

1 个答案:

答案 0 :(得分:0)

这很直接:

 var result = db.myTable.Where(x => x.Branch == 1)
                        .GroupBy(x => x.StartDate)
                        .Select(g => new 
                        {
                            StartDate = g.Key,
                            Sum = g.Sum(x => x.Number)
                        });

或者在查询语法中:

 var result = 
     from x in db.myTable
     where x.Branch == 1
     group x by x.StartDate into g
     select new 
     {
         StartDate = g.Key
         Sum = g.Sum(x => x.Number)
     };