如何使用聚合运算符转换linq查询输出并将不同的输出显示到列表?
这是我存储在DB中的内容,它是通过linq查询提取的:
Date Hours
07/29/2013 1.3
07/29/2013 2.0
07/30/2013 3.1
07/31/2013 0.1
07/31/2013 5.2
08/01/2013 1.1
08/01/2013 1.1
08/01/2013 2.2
08/02/2013 3.3
08/02/2013 4.0
08/03/2013 2.1
Run Code Online (Sandbox Code Playgroud)
这是我想要的数据:
Day Hours
07/29/2013 3.3
07/30/2013 3.1
07/31/2013 5.3
08/01/2013 4.4
08/02/2013 7.3
08/03/2013 2.1
Run Code Online (Sandbox Code Playgroud)
任何帮助深表感谢
使用GroupBy和Sum:
var result = db.Table
.GroupBy(r => r.Date)
.Select(g => new{ Day=g.Key, Hours=g.Sum(r=> r.Hours) })
Run Code Online (Sandbox Code Playgroud)
如果Date实际上是DateTime你应该r.Date.Date用来删除时间部分.