C# DataTable 通过Linq分组
datatable我们是经常使用到的,但是需要对数据进行分组,具体代码如下:
var result = dt.AsEnumerable().GroupBy(f => new
{
type = f.Field<string>("type"),
value = f.Field<string>("value"),
site_id = f.Field<string>("site_id")
}).Select(f => new
{
type = f.Key.type,
value = f.Key.value,
site_id = f.Key.site_id,
detect_time = f.Min(x => x.Field<long>("detect_time")),
data_type = f.Min(x => x.Field<string>("data_type"))
}).ToList();
这样就实现了分组,返回的result相当于一个dynamic对象。很简单的
C# DataTable 通过Linq分组的更多相关文章
- DataTable 用linq分组查询
		DataRow drt = null; var tlist = dt.Select("Atmbs LIKE '%" + d["Two_Code"] + &quo ... 
- Linq DataTable Group By 分组显示人员明细
		实现功能: 多个字段分组源码样例: 原始数据: 分组后的输出结果: 源代码: public static void PrintPersons() { //准备数据 DataTable dt ... 
- C# LINQ系列:LINQ to DataSet的DataTable操作  及 DataTable与Linq相互转换
		LINQ to DataSet需要使用System.Core.dll.System.Data.dll和System.Data.DataSetExtensions.dll,在项目中添加引用System. ... 
- DataTable以列分组
		//DataTable以列分组 var result = from r in dt.AsEnumerable() group r by ), b = r.Field<) } into g sel ... 
- Linq分组功能
		Linq在集合操作上很方便,很多语法都借鉴自sql,但linq的分组却与sql有一定的区别,故整理发布如下. 1. Linq分组 分组后以Key属性访问分组键值. 每一组为一个IEnumberAbl ... 
- Linq分组操作之GroupBy,GroupJoin扩展方法源码分析
		Linq分组操作之GroupBy,GroupJoin扩展方法源码分析 一. GroupBy 解释: 根据指定的键选择器函数对序列中的元素进行分组,并且从每个组及其键中创建结果值. 查询表达式: var ... 
- linq分组求和_实体类和datatable
		1.数据分组求合,分别用的实体类以及datatable来分组求合,还有分组求和之后的如何取值 //实体类版本 List<ProgramTimeModel> TotalAllList = G ... 
- DataTable/Array Linq查询,groupby
		DataTable Linq查询 1.查询DataRow IEnumerable<DataRow> q1 = from r in dt.AsEnumerable() == select r ... 
- DataTable与Linq相互转换
		DataTable通过dt.AsEnumerable()方法转换可用Linq查询,反之,Linq也可以转化为DataTableDataTable newDt = query1.CopyToDataTa ... 
随机推荐
- Machine Learning - Andrew Ng - Coursera
			Machine Learning - Andrew Ng - Coursera Contents 1 Notes 1 Notes What is Machine Learning? Two defin ... 
- Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)  Problem A - B
			Pronlem A In a small restaurant there are a tables for one person and b tables for two persons. It i ... 
- Python函数的作用域规则和闭包
			作用域规则 命名空间是从名称到对象的映射,Python中主要是通过字典实现的,主要有以下几个命名空间: 内置命名空间,包含一些内置函数和内置异常的名称,在Python解释器启动时创建,一直保存到解释器 ... 
- Eclipse关联Github
			摘自:http://jingyan.baidu.com/article/64d05a0262f013de55f73bcc.html 检查Eclipse中是否已安装Git插件,菜单栏Help -> ... 
- git初学
			git在团队合作开发时是很有用的,SVN是集中式的代表,而git是分布式的代表,它分为代码区.暂存区.和本地库.在同一个团队中开发时,在代码存储中心(例如,码云.github)上创建一个库,用于储存和 ... 
- Vue学习【第四篇】:Vue 之webpack打包工具的使用
			什么是webpack webpack是一个模块打包工具.用vue项目来举例:浏览器它是只认识js,不认识vue的.而我们写的代码后缀大多是.vue的,在每个.vue文件中都可能html.js.css甚 ... 
- 颠倒的价牌|2013年蓝桥杯A组题解析第四题-fishers
			颠倒的价牌 小李的店里专卖其它店中下架的样品电视机,可称为:样品电视专卖店. 其标价都是4位数字(即千元不等). 小李为了标价清晰.方便,使用了预制的类似数码管的标价签,只要用颜色笔涂数字就可以了(参 ... 
- C#支付宝多次回调问题
			//必须删除掉页面上的默认内容,不然支付宝会多次回调 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&q ... 
- JS中什么是发布--订阅模式?
			转载文章部分内容: 发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知. ... 
- Codeforces 510 E. Fox And Dinner
			题目链接:http://codeforces.com/problemset/problem/510/E 乍一看和那啥魔术球问题有点神似啊/XD 其实是不一样的. 解决这道问题的关键在于发现若是相邻的两 ... 
