如何在datatable中进行分组,并且计算分组后每组的数量,想了一下,可以使用LINQ来实现datatable分组。代码如下

效果

区域    库房          数量
北京---北京仓库---1

北京---上海仓库---1

上海---上海仓库---2

DataTable dt = new DataTable("cart");
            DataColumn dc1 = new DataColumn("areaid", Type.GetType("System.String"));
            DataColumn dc2 = new DataColumn("house", Type.GetType("System.String"));
            DataColumn dc3 = new DataColumn("seq", Type.GetType("System.String"));
            DataColumn dc4 = new DataColumn("remark", Type.GetType("System.String"));

dt.Columns.Add(dc1);
            dt.Columns.Add(dc2);
            dt.Columns.Add(dc3);
            dt.Columns.Add(dc4);

DataRow dr = dt.NewRow();
            dr["areaid"] = "北京";
            dr["house"] = "北京仓库";
            dr["seq"] = "2";
            dr["remark"] = "货到付款";
            dt.Rows.Add(dr);

DataRow dr1 = dt.NewRow();
            dr1["areaid"] = "北京";
            dr1["house"] = "上海仓库";
            dr1["seq"] = "1";
            dr1["remark"] = "货到付款";
            dt.Rows.Add(dr1);

DataRow dr2 = dt.NewRow();
            dr2["areaid"] = "上海";
            dr2["house"] = "上海仓库";
            dr2["seq"] = "1";
            dr2["remark"] = "货到付款";
            dt.Rows.Add(dr2);

DataRow dr3 = dt.NewRow();
            dr3["areaid"] = "上海";
            dr3["house"] = "北京仓库";
            dr3["seq"] = "1";
            dr3["remark"] = "货到付款";
            dt.Rows.Add(dr3);
            var query = from t in dt.AsEnumerable()
                        group t by new { t1 = t.Field<string>("areaid"), t2 = t.Field<string>("seq") } into m
                        select new
                        {
                            areaid = m.Key.t1,
                            seq = m.Key.t2,
                            house = m.First().Field<string>("house"),
                            rowcount = m.Count()
                        };
            Console.WriteLine("区域 " + "  库房" + "   数量");
            foreach (var item in query.ToList())
            {
                if (item.rowcount > 1)
                {
                    Console.WriteLine(item.areaid + "---" + item.house);
                }
                Console.WriteLine(item.areaid + "---" + item.house + "---" + item.rowcount);
                Console.WriteLine("\r\n");
            }
            Console.ReadKey();

datatable使用groupby进行分组统计 .相关推荐

  1. datatable使用groupby进行分组统计 [2]

    如果要使用group by的话,可以使用linq,这是C#3.0的内容.给你个示例 static void Main(string[] args) {DataTable dt = new DataTa ...

  2. groupby函数分组统计

    groupby函数分组统计(这里写自定义目录标题) 分组统计后的类别的计数以及某类的总和 data.groupby(['User Id'])['Integral'].count() data.grou ...

  3. pandas使用groupby函数对dataframe进行分组统计、使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index)

    pandas使用groupby函数对dataframe进行分组统计.使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index) 目录

  4. pandas相关函数sort_values、字符串处理、index、merge、数据合并cancat、groupby分组统计

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.排序函数sort_values() 二.字符串处理 1.介绍 2.代码介绍 3.Categorical类型降低数据 ...

  5. Pandas数据分析—groupby分组统计

    13.Pandas中groupby分组统计 文章目录 13.Pandas中groupby分组统计 前言 一.分组使用聚合函数做数据统计 1.准备数据 二.遍历groupby的结果理解执行流程 三.实例 ...

  6. pandas分组统计 - groupby功能

    数据分组 分组统计 - groupby功能 ① 根据某些条件将数据拆分成组 ② 对每个组独立应用函数 ③ 将结果合并到一个数据结构中 Dataframe在行(axis=0)或列(axis=1)上进行分 ...

  7. python 数据分组后看每组多少个_【Python】分组统计GroupBy技术详解

    摘要 进行数据分析时,GroupBy分组统计是非常常用的操作,也是十分重要的操作之一.基本上大部分的数据分析都会用到该操作,本文将对Python的GroupBy分组统计操作进行讲解. 1.GroupB ...

  8. 记录一下pandas的分组统计功能,agg

    主要是记录一下pandas学习,最近要统计一个数据,我向以前stata里面有一个很好用的函数,就是tabstat,可以分组统计,并且输出很多指标. 最近处理数据我的数据是这样的. 我向按照 valid ...

  9. Python数据分析pandas之分组统计透视表

    Python数据分析pandas之分组统计透视表 数据聚合统计 Padans里的聚合统计即是应用分组的方法对数据框进行聚合统计,常见的有min(最小).max(最大).avg(平均值).sum(求和) ...

最新文章

  1. springboot RestTemplate httpclient
  2. Centos在虚拟机内可以ping通,在ssh内无法ping通外网
  3. 云边协同 — 协同的类型
  4. 摆脱“人肉”审核,从0搭建可视化SQL自动审核平台
  5. iis php mysql 一键安装_LNMP(Nginx服务,MySQL 服务,安装PHP服务 手动安装技术文档)
  6. laravel Excel导入导出
  7. python中text怎么旋转字体_Python+OpenCV实现旋转文本校正方式
  8. 关于SharePoint 2010里Servers in farm页面里status意义的澄清
  9. JSON入门指南--服务端处理JSON
  10. VHDL实现交通灯程序
  11. 菲尼克斯电源模块UNO-PS1AC24DC100W的组装
  12. [生存志] 第72节 夫差许越称臣
  13. 想要穿衣服好看,这4处肌肉一定要练好
  14. 公众号配图不会设计?你需要这三款在线作图神器
  15. Java实现汉字转换拼音功能
  16. MQTT学习笔记(4)报文分析之PUBLISH
  17. Python + selenium自动化工具 + 滑块验证码+点选验证码,实现模拟登录“中国铁路网12306”
  18. 密码应用体系建设(政务方向)
  19. MySQL学习(一)
  20. java写键盘鼠标录制器,易语言仿按键精灵录制键盘鼠标操作的代码

热门文章

  1. 高桥盾react和boost_gel、react、boost三种材料的跑鞋,哪个更强呢?
  2. Seq(HDU-6672)
  3. Monthly Expense( POJ-3273 )
  4. 登山(信息学奥赛一本通-T1283)
  5. 16 SD配置-企业结构-分配-给信贷控制区分配公司代码
  6. 11 如何通过 “副本传输” 传输从DEV到QAS的请求号
  7. python自动化部署工具_Python + Allure(报告)+ Jenkins(持续集成)接口自动化测试环境搭建...
  8. python语言程序设计试卷西京学院_Python语言程序设计A-中国大学mooc-试题题目及答案...
  9. java semaphore(0)_面试官:说说Java中的信号量?Semaphore
  10. phpcms数据库 mysql 清空与导入 - phpMyAdmin操作 - 方法篇