LINQ按日期获取数据组的总和 [英] Linq get sum of data group by date
本文介绍了LINQ按日期获取数据组的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的数据是这样的:
read_date | T1 | T2 |
15.02.2000 | 2 | 3 |
16.02.2000 | 4 | 5 |
15.03.2000 | 2 | 3 |
16.03.2000 | 5 | 4 |
我想获得mountly总和T1和T2的,像这样的:
I want to get mountly sum of T1 and T2, like this:
read_date | T1 | T2 |
02.2000 | 6 | 8 |
03.2000 | 7 | 7 |
我尝试写这样的事:
I try to write something like this:
var result = from s in meter_readings.Take(10)
group s by new { s.read_date} into g
select new
{
read_date = g.Key.read_date,
T1 = g.Sum(x => x.T1),
T2 = g.Sum(x => x.T2)
};
但是这并没有给预期data.Is有任何实际的例子来为数据每小时总和,每天的款项,等等。
but this does not give expected data.Is there any example to give data hourly sums, daily sums, etc.
感谢
推荐答案
您应该只把一年分组时一个月到:
You should only take the year and month into account when grouping:
var result =
from s in meter_readings.Take(10)
group s by new { date = new DateTime(s.read_date.Year, s.read_date.Month, 1) } into g
select new
{
read_date = g.Key.date,
T1 = g.Sum(x => x.T1),
T2 = g.Sum(x => x.T2)
};
这篇关于LINQ按日期获取数据组的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文