1

如何使用聚合运算符转换 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

这是我想要的数据:

   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

任何帮助深表感谢

4

1 回答 1

7

使用GroupBySum

var result = db.Table
    .GroupBy(r => r.Date)
    .Select(g => new{ Day=g.Key, Hours=g.Sum(r=> r.Hours) })

如果Date实际上是 a DateTime,您应该使用它r.Date.Date来删除时间部分。

于 2013-08-01T22:05:01.307 回答