Linq 按日期获取数据组的总和 [英] Linq get sum of data group by date

查看:21
本文介绍了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  |

我想得到 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  |   

我试着写这样的东西:

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)
             };

但这并没有给出预期的数据.有没有给出数据每小时总和,每日总和等的例子.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆