CreationTime是DateTime类型

group by 年/月/日/小时

group by 年

(from d in YourData.OrderBy(x => x.CreationTime)
group d by new
{
time = new { d.CreationTime.Year }
} into g
select new
{
AverageValue = g.Average(p => p.Value),
CreationTimeStr = g.Key.time.Year,
MaxValue = g.Max(x => x.Value),
MinValue = g.Min(x => x.Value)
}).ToList();

group by 小时

(from d in YourData.OrderBy(x => x.CreationTime)
group d by new
{
time = new { d.CreationTime.Year, d.CreationTime.Month, d.CreationTime.Day,d.CreationTime.Hour }
} into g
select new
{
AverageValue = g.Average(p => p.Value),
CreationTimeStr = g.Key.time.Year + "-" + g.Key.time.Month + "-" + g.Key.time.Day+" "+g.Key.time.Hour+":00:00",
MaxValue = g.Max(x => x.Value),
MinValue = g.Min(x => x.Value)
}).ToList();

其他类推

group by 半小时

group by 半小时=group by 30分钟

(from d in YourData.OrderBy(x => x.CreationTime)
group d by new
{
time = new { d.CreationTime.Year, d.CreationTime.Month, d.CreationTime.Day, d.CreationTime.Hour, Minute = (d.CreationTime.Minute / 30) * 30 }
} into g
select new
{
Value = g.Average(p => p.Value),
CreationTimeStr = g.Key.time.Year + "-" + g.Key.time.Month + "-" + g.Key.time.Day + " " + g.Key.time.Hour + ":"+g.Key.time.Minute.ToString().PadRight(2,'0')+ ":00",
MaxValue = g.Max(x => x.Value),
MinValue = g.Min(x => x.Value)
}).ToList();

group by 半月、半年等等可以类比

参考资料

Grouping by every n minutes

linq to entity group by 时间的更多相关文章

  1. EF架构~在Linq to Entity中使用日期函數

    回到目录 眾所周知,在linq to entity的查询语句中,不允许出现ef不能识别的关键字,如Trim,Substring,TotalDays等.net里的关键字,在EF查询里都是不被支持的,它的 ...

  2. Linq to Entity经验:表达式转换

    http://www.cnblogs.com/ASPNET2008/archive/2012/10/27/2742434.html 最近一年的项目,我主要负责一些小型项目(就是指企业内部的小项目),在 ...

  3. EF架构~linq to entity的随机排序问题

    回到目录 对于从linq to sql迁移过来的开发者,对随机排序不会感到陌生,直接为datacontext添加一个方法再配合反射就可以实现随机排序了,代码如下: /// <summary> ...

  4. Linq to Entity中连接两个数据库时要注意的问题

    Linq to Entity中连接两个数据库时要注意的问题 今天大学同学问了我一个问题,Linq to Entity中连接两个数据库时,报错“指定的 LINQ 表达式包含对与不同上下文关联的查询的引用 ...

  5. Linq中join & group join & left join 的用法

    Linq中join & group join & left join 的用法 2013-01-30 11:12 12154人阅读 评论(0) 收藏 举报  分类: C#(14)  文章 ...

  6. LINQ TO SQL ——Group by

    原文:LINQ TO SQL --Group by 分组在SQL中应用的十分普遍,在查询,统计时都有可能会用到它.LINQ TO SQL中同样具备group的功能,这篇我来讲下LINQ TO SQL中 ...

  7. C# Linq to Entity 多条件 OR查询

    技术背景:框架MVC,linq to Entity 需要一定的lambda书写能力 问题:在简单的orm中完成一些简单的增删查改是通过where insert delete update 完成的,但是 ...

  8. Linq to Entity 多条件 OR查询

    技术背景:框架MVC,linq to Entity 需要一定的lambda书写能力 问题:在简单的orm中完成一些简单的增删查改是通过where insert delete update 完成的,但是 ...

  9. Linq学习<三> linq to entity

    之前一直用sql选择出数据放在一个集合中,然后再用Linq或者lambda去操作数据,今天学了Linq to entity 才知道原来linq产生是为了Entity.也就是EDM(实体数据模型) 关于 ...

随机推荐

  1. 运行 npm run lint -- --fix,提示:error Use the global form of 'use strict'

    运行 npm run lint -- --fix,提示:error Use the global form of 'use strict',使用说明网址:https://eslint.org/docs ...

  2. awk编程的基本用法

    awk也是用来处理文本的,awk语言可以从文件或字符串中基于指定规则浏览和抽取信息,可以实现数据查找.抽取文件中的数据.创建管道流命令等功能. awk模式匹配 第一种方法打印空白行将空白行打印出来,并 ...

  3. Simple Redux

    This is a post that tries to explain the the basics of Redux. We’ll build a minimal working example ...

  4. File upload - Double extensions

    提示:Your goal is to hack this photo galery by uploading PHP code.Retrieve the validation password in ...

  5. LeetCode 1249. Minimum Remove to Make Valid Parentheses

    原题链接在这里:https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses/ 题目: Given a string s ...

  6. ent 基本使用十三 debug 模式

    ent 生成的代码client 包中包含了一个方便的方法Debug(), 记得昨天我为了查看生成的sql 查询通过配置mysql 启用慢查询,同时设置记录慢查询为0,实际上client Debug 方 ...

  7. JS稀奇古怪题目

    JS稀奇古怪题目: 1.操作对象属性优先级高于普通赋值操作 var a = { n: 1 }; var b = a; //操作对象属性优先级高于普通赋值操作 a.x = a = { n: 2 }; c ...

  8. Reactive Extensions (Rx) 入门(1) —— Reactive Extensions 概要

    译文:https://blog.csdn.net/fangxing80/article/details/7381619 原文:http://www.atmarkit.co.jp/fdotnet/int ...

  9. 【JZOJ6230】【20190625】梦批糼

    题目 一个$n\times m \times l $的立方体,有一些位置有障碍 一次操作会随机选择一个立方体,共有\(w\)次操作 询问所有操作都不选到障碍点,被选到至少一次的点的期望 $n ,m,l ...

  10. (ACP)敏捷项目管理

    第1章 为什么需要敏捷 第2章 敏捷和敏捷项目管理定义 第3章 敏捷项目管理价值和原则 1.我们的最高目标是,通过尽早持续交付有价值的软件来满足客户的需求 2.欢迎对需求提出变更,即使在项目开发后期也 ...