转载:http://www.cnblogs.com/zq281660880/archive/2012/09/26/2704836.html

今天在使用linq处理一下需求时碰到一点小问题,特此记录。

  需求:

按照品名相同的进行汇总,数量相加、表号按分号分割显示

1、组织测试数据表

 DataTable tableA1 = new DataTable();tableA1.Columns.AddRange(new DataColumn[] { new DataColumn("品名"), new DataColumn("规格"), new DataColumn("表号"),new DataColumn("数量") }); tableA1.Rows.Add(new object[] { "螺旋式", "LS-X", "111","2" }); tableA1.Rows.Add(new object[] { "螺旋式", "LS-X", "222","1" }); tableA1.Rows.Add(new object[] { "指针式", "LX-3", "523","2" }); tableA1.Rows.Add(new object[] { "其他式", "L-1", "666", "2" }); tableA1.Rows.Add(new object[] { "其他式", "L-1", "456", "1" }); tableA1.Rows.Add(new object[] { "其他式", "L-1", "990", "2" });

2、使用linq 进行查询处理

 var query = from c  in t.AsEnumerable()group c by new { pingming = c.Field<string>("品名"), guige = c.Field<string>("规格") } into s select new { pingming = s.Select(p => p.Field<string>("品名")).First(), shuliang = s.Sum(p => Convert.ToInt32(p.Field<string>("数量"))), guige = s.Select(p => p.Field<string>("规格")).First(), biaohao = string.Join(";",s.Select(p => p.Field<string>("表号")))  }; DataTable tbl = tableA1.Clone(); query.ToList().ForEach(p => tbl.Rows.Add(p.pingming, p.guige,p.biaohao,p.shuliang));

查询结果:

Linq 分组(group by)求和(sum)并且按照分隔符(join)分割列数据相关推荐

  1. wps表格怎么求和一列数据?

    WPS是日常办公经常会使用的工具,其中WPS求和在办公中的应用是比较广泛的,通过表格的求和可以快速的帮助大家计算出一列或者一行数据的总和,对WPS文件的使用比较陌生的人,可能不知道怎么进行数据求和,下 ...

  2. Linq使用Group By

    1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:Linq使用Group By按C ...

  3. Linq使用Group By 1

    1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:Linq使用Group By按C ...

  4. mysql分组之后再求和

    mysql分组之后再求和 测试数据 SELECTCOALESCE(type,'all'),SUM(price) FROMproducts GROUP BYtype WITH ROLLUP; 执行效果 ...

  5. Linq学习——Group By

    1.简单形式: var q = from p in db.Products group p by p.CategoryID into g select g; 语句描述:Linq使用Group By按C ...

  6. groupby多个字段性能_MySQL今天我们说下分组(group by)

    MySQL的分组(group by), 根据一个或多个列对结果集进行分组.在分组列上,可以使用 count,avg,sum等函数. 对应的语法为: SELECT column_name, functi ...

  7. [Pandas] 分组比例计算求和

    美图欣赏2022/08/01 问题:在最近的需求开发中,有这么个分组比例计算求和问题,根据字段'CPN'进行分组,计算每一笔PO Line Actual CT2R * line 数量比重,取名为'We ...

  8. 累计求和sum(A1)over(partition by A2 order by A3)

    组内排序求和 1.需求:根据所给数据要取出每个人每一年所兑付的往年金额汇总 用了传统的方法sum()over(order by)无法实现,但是见到网上根据部门编号累计汇总工资是可以的,但是这里面没有一 ...

  9. pandas使用sum函数计算dataframe单数据列的加和或者对所有的数据列进行求和(sum column or all columns of dataframe)

    pandas使用sum函数计算dataframe单数据列的加和或者对所有的数据列进行求和(sum column or all columns of dataframe) 目录

最新文章

  1. 人工智能功能级别与框架|《远望译品》
  2. [RDMA] RDMA 初步使用操作
  3. Redis 缓存和 MySQL 数据如何实现一致性?
  4. 游戏光线追踪往事:十年技术轮回
  5. SharePoint 2010 master page 控件介绍(5):其他
  6. Graphviz的安装及纠错
  7. linux命令mov,汇编指令_Y-linuz-linux-w_新浪博客
  8. 只用一行代码,就导入Python所有库
  9. java 内部类 作用,内部类,java内部类的四大作用
  10. twrp两种方式刷入的mm管理器_Google Pixel C 刷入Magisk
  11. vs 执行单个文件,如cpp
  12. 手机投屏到电脑的5种方式,你学到了吗!
  13. 【20211106】【数据分析】hist 和 bar 的区别
  14. 计算机网络(第7版)第二章(应用层)知识点整理
  15. 智慧商圈,对接微信、支付宝、云闪付实现自动积分
  16. Spark随笔(三):straggler的产生原因
  17. 如何使用STM32指南者LCD显示图片
  18. Go 1.16中值得关注的几个变化
  19. 讨论JAVA和QT之争
  20. 关于Richard Stallman的若干惊人事实

热门文章

  1. 推荐12个非常不错而且免费的后台管理HTML模板
  2. org.apache.hadoop 的jar包下载地址
  3. 服务计算与服务生态系统 第一章测验题答案
  4. leetcode讲解--513. Find Bottom Left Tree Value
  5. iPhone未来怎么走?将融入脸部以及指纹辨识系统
  6. RxSwift PriorityQueue 优先级队列的实现
  7. linux内核包转发过程(三)NIC帧接收分析
  8. 神级程序员8000行css代码画出一个蒙娜丽莎,堪比达芬奇!
  9. 新手该学习Python2.x版本还是3.x版本
  10. jQuery实现购物车物品数量的加减