利用Relations实现多DataTable的聚合
/// <summary>
/// 对DataTable进行GroupBy操作
/// </summary>
/// <param name="p_table"></param>
/// <param name="p_key"></param>
/// <returns></returns>
private static DataTable GetTableByGroupBy(DataTable p_table, string p_key, string p_colname)
{
//对DataTable进行Group by
DataTable parTable = new DataTable();
DataColumn key = new DataColumn();
key.DataType = System.Type.GetType("System.String");
key.ColumnName = "MC";
parTable.Columns.Add(key);
DataColumn avg = new DataColumn();
avg.DataType = System.Type.GetType("System.Double");
avg.ColumnName = "AVG";
parTable.Columns.Add(avg);
foreach (DataRow row in p_table.Rows)
{
if (parTable.Select(string.Format("mc='{0}'", row[p_key].ToString())).Length == 0)
{
parTable.Rows.Add(new object[] { row[p_key] })["mc"] = row[p_key].ToString();
}
}
DataSet ds = new DataSet();
DataTable childTable = p_table.Copy();
childTable.TableName = "child";
ds.Tables.Add(childTable);
parTable.TableName = "par";
ds.Tables.Add(parTable);
ds.Relations.Add("partochild", parTable.Columns["mc"], childTable.Columns[p_key]);
parTable.Columns["avg"].Expression = string.Format("avg(child(partochild).{0})", p_colname);
return parTable;
}
转载于:https://www.cnblogs.com/lne818/archive/2009/03/11/1409075.html
利用Relations实现多DataTable的聚合相关推荐
- PHP rss聚合,利用PHP和AJAX创建RSS聚合器
下载本文示例代码 想象使用一个简单HTML文件来把一个请求发送到一个服务器端脚本,收到一个基于该请求的定制XML文件,然后把它显示给用户而几乎不需要刷新浏览器!本文作者将同你一起探讨怎样在普通Web应 ...
- mysql 乘法拼接字符串_【原创】利用MySQL 的GROUP_CONCAT函数实现聚合乘法
MySQL 聚合函数里面提供了加,平均数,最小,最大等,但是没有提供乘法,我们这里来利用MYSQL现有的GROUP_CONCAT函数实现聚合乘法. 先创建一张示例表:CREATE TABLE `tb_ ...
- mysql中乘法的函数的使用方法_利用MySQL 的GROUP_CONCAT函数实现聚合乘法
MySQL 聚合函数里面提供了加,平均数.最小,最大等,可是没有提供乘法,我们这里来利用MYSQL现有的GROUP_CONCAT函数实现聚合乘法. 先创建一张演示样例表:CREATE TABLE `t ...
- 利用Cache缓存数据DataTable数据提高大数据量访问性能-.NET教程,数据库应用
在数据量不大的情况下,程序怎么写基本上性能差别不大,但是当我们面对数以万计的数据的时候,我想性能就是个不得不考虑的问题了,每写一个方法,每填充一 笔数据都要考虑到性能问题,否则服务器将承担巨大的执行开 ...
- C# 利用Newtonsoft.Json将DataTable进行JSON序列化
1 string JsonString = string.Empty; 2 JsonString = JsonConvert.SerializeObject(vds);//json序列化 3 stri ...
- 读数据库版本的、利用K-means聚类方法做经纬度聚合
1.数据库 库的名字:owl_test 表的名字:data1 2.Python代码 import matplotlib.pyplot as plt import numpy as np import ...
- 深度解读!时序数据库HiTSDB:分布式流式聚合引擎
阿里妹导读:高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 是一种高性能,低成本,稳定可靠的在线时序数据库服务, 提供高效 ...
- (转)利用WPF的ListView进行大数据量异步加载
原文:http://www.cnblogs.com/scy251147/archive/2012/01/08/2305319.html 由于之前利用Winform的ListView进行大数据量加载的时 ...
- 论文浅尝 | 利用知识-意识阅读器改进的不完整知识图谱问答方法
论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识库问答. 来源:ACL2019 链接:https://www.aclweb.org/anthology/P19-1417/ 本文提出了一种融合不完整 ...
最新文章
- 网络编程学习笔记(recv和send函数)
- result的type属性
- java求数组的最小值_JAVA编程求数组最大值和最小值
- ShareSDK集成微信、QQ、微博分享
- django-一对一关系
- JavaScript多继承(转载)
- Eclipse / Intellij Idea配置Git+Maven+Jetty开发环境
- UTF与ascii区别
- 提取excel表数据成json格式的以及对图片重命名
- 摘录:《晨间日记的奇迹》
- 学术会议 Rebuttal 模板
- openCV—converTo()用法
- 关于SqlServer练习题
- 如何保护WordPress网站免受网络攻击?采取安全措施至关重要
- 安卓蓝牙USB连接热敏打印机一
- Moonbeam与Wormhole的Relayer Engine之间的跨链互连合约
- 安卓机适合用的手机浏览器,可下载视频可锁屏
- for循环(循环结构)
- 计算机access和office,计算机二级access和office
- scrapy-爬取百度贴吧之物流内容。
热门文章
- Apache Kylin 部署之不完全指南
- 基于Nginx反向代理及负载均衡
- Windows7 登陆失败:未知的用户名或密码错误 网络共享文件夹
- Corba传值包含中文解决
- 用DirectX Audio和DirectShow播放声音和音乐(4)
- 接到骗子短信后........
- 我所理解的K8S(有彩蛋哦~)
- RabbitMq(十) 消息过期时间TTL介绍以及代码实现
- 读书日记 莫雨 《一个程序员的奋斗史》Java 面试 感悟 程序员
- 如何查看linux CPU总占用率?