2011-09-08 67 views
1

下面是轉換到LINQ到SQL(LAMBDA請)幫助轉換SQL語句LINQ拉姆達(需要通過和sum幫助組)

選擇[日期],SUM(計算)的語句[計數], SUM(時間)[時間] FROM dbo.TableName GROUP BY [日期]

這是原始數據,而無需通過基團,總結

Date     Counted Time 
2011-09-07 00:00:00.000 34  31 
2011-09-07 00:00:00.000 6  3 
2011-09-07 00:00:00.000 7  3 
2011-09-07 00:00:00.000 6  2 
2011-09-07 00:00:00.000 7  2 
2011-09-07 00:00:00.000 19  4 
2011-09-07 00:00:00.000 13  4 
2011-09-07 00:00:00.000 11  4 
2011-09-07 00:00:00.000 14  3 
2011-09-07 00:00:00.000 0.75 3 

這些基團後的結果通過與和被施加

Date     Counted Time 
2011-09-07 00:00:00.000 117.75 59 

這是我到目前爲止,但我很困惑,當談到通過與和從事羣體。顯然我的語法是離開大聲笑。

var q = context.TableName.Where(...) 
       .GroupBy(x => new { x.Date}) 
       .Sum(x => x.Counted, x.Time????) 
       .Select(x => x.Date, x.Counted, x.Time; 
+0

你有DataTable中的數據?據我所知,你有,對嗎? –

回答

6
var q = context.TableName 
      .GroupBy(x => x.Date) 
      .Select(g => new { 
       Date = g.Key, 
       Counted = g.Sum(x => x.Counted), 
       Time = g.Sum(x => x.Time) 
      }); 
0

什麼USNG總和()擴展方法:

var query = table.AsEnumerable().Select(s => s.Field<int>("counted")).Sum();