Code
/// <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的聚合相关推荐

  1. PHP rss聚合,利用PHP和AJAX创建RSS聚合器

    下载本文示例代码 想象使用一个简单HTML文件来把一个请求发送到一个服务器端脚本,收到一个基于该请求的定制XML文件,然后把它显示给用户而几乎不需要刷新浏览器!本文作者将同你一起探讨怎样在普通Web应 ...

  2. mysql 乘法拼接字符串_【原创】利用MySQL 的GROUP_CONCAT函数实现聚合乘法

    MySQL 聚合函数里面提供了加,平均数,最小,最大等,但是没有提供乘法,我们这里来利用MYSQL现有的GROUP_CONCAT函数实现聚合乘法. 先创建一张示例表:CREATE TABLE `tb_ ...

  3. mysql中乘法的函数的使用方法_利用MySQL 的GROUP_CONCAT函数实现聚合乘法

    MySQL 聚合函数里面提供了加,平均数.最小,最大等,可是没有提供乘法,我们这里来利用MYSQL现有的GROUP_CONCAT函数实现聚合乘法. 先创建一张演示样例表:CREATE TABLE `t ...

  4. 利用Cache缓存数据DataTable数据提高大数据量访问性能-.NET教程,数据库应用

    在数据量不大的情况下,程序怎么写基本上性能差别不大,但是当我们面对数以万计的数据的时候,我想性能就是个不得不考虑的问题了,每写一个方法,每填充一 笔数据都要考虑到性能问题,否则服务器将承担巨大的执行开 ...

  5. C# 利用Newtonsoft.Json将DataTable进行JSON序列化

    1 string JsonString = string.Empty; 2 JsonString = JsonConvert.SerializeObject(vds);//json序列化 3 stri ...

  6. 读数据库版本的、利用K-means聚类方法做经纬度聚合

    1.数据库 库的名字:owl_test 表的名字:data1 2.Python代码 import matplotlib.pyplot as plt import numpy as np import ...

  7. 深度解读!时序数据库HiTSDB:分布式流式聚合引擎

    阿里妹导读:高性能时间序列数据库 (High-Performance Time Series Database , 简称 HiTSDB) 是一种高性能,低成本,稳定可靠的在线时序数据库服务, 提供高效 ...

  8. (转)利用WPF的ListView进行大数据量异步加载

    原文:http://www.cnblogs.com/scy251147/archive/2012/01/08/2305319.html 由于之前利用Winform的ListView进行大数据量加载的时 ...

  9. 论文浅尝 | 利用知识-意识阅读器改进的不完整知识图谱问答方法

    论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识库问答. 来源:ACL2019 链接:https://www.aclweb.org/anthology/P19-1417/ 本文提出了一种融合不完整 ...

最新文章

  1. 网络编程学习笔记(recv和send函数)
  2. result的type属性
  3. java求数组的最小值_JAVA编程求数组最大值和最小值
  4. ShareSDK集成微信、QQ、微博分享
  5. django-一对一关系
  6. JavaScript多继承(转载)
  7. Eclipse / Intellij Idea配置Git+Maven+Jetty开发环境
  8. UTF与ascii区别
  9. 提取excel表数据成json格式的以及对图片重命名
  10. 摘录:《晨间日记的奇迹》
  11. 学术会议 Rebuttal 模板
  12. openCV—converTo()用法
  13. 关于SqlServer练习题
  14. 如何保护WordPress网站免受网络攻击?采取安全措施至关重要
  15. 安卓蓝牙USB连接热敏打印机一
  16. Moonbeam与Wormhole的Relayer Engine之间的跨链互连合约
  17. 安卓机适合用的手机浏览器,可下载视频可锁屏
  18. for循环(循环结构)
  19. 计算机access和office,计算机二级access和office
  20. scrapy-爬取百度贴吧之物流内容。

热门文章

  1. Apache Kylin 部署之不完全指南
  2. 基于Nginx反向代理及负载均衡
  3. Windows7 登陆失败:未知的用户名或密码错误 网络共享文件夹
  4. Corba传值包含中文解决
  5. 用DirectX Audio和DirectShow播放声音和音乐(4)
  6. 接到骗子短信后........
  7. 我所理解的K8S(有彩蛋哦~)
  8. RabbitMq(十) 消息过期时间TTL介绍以及代码实现
  9. 读书日记 莫雨 《一个程序员的奋斗史》Java 面试 感悟 程序员
  10. 如何查看linux CPU总占用率?