Linq中的group by多表多字段,Sum求和
 //Line to Sql 写法var data = (from a in Itemsgroup a by new { a.GroupId, a.Id } into b//orderby new ComparerItem() { GroupId = b.Key.GroupId, Id = b.Key.Id } descending          .where(o => o.Id>1000)select new{GroupId = b.Key.GroupId,Id = b.Key.Id,Count = b.Sum(c => c.Count),Weight = b.Sum(c => c.Weight)}).OrderBy(t => t.GroupId).ThenBy(t => t.Id);

items 是一个包含4个字段(GroupId, Id, Count, Weight)的list.

效果,按GroupId,Id 分组 ,并统计Count字段和Weight字段

//labmda 写法var data = items.GroupBy( t=> t.GroupBy,t=> t.Id).where( f=> f.Id>1000).Select( g=> new {GroupId = g.GroupId,Id = g.Id,Count = g.Count( ),SumWeight = g.Sum( x=>x.Weight)});

//多表写法from a in TableA  join b in TableB on a.Id equals b.aId  where ((b.Type == 1 || b.Type == 2 || b.Type == 5) && b.State == 1)  group new { a.Id, b.Name,b,CreateDate } by new { a.Id, b.Name } into g  select (new Class1 { Id = g.Key.Id, Name = g.Key.Name ?? "" });  class Class1
{  public int Id { get; set; }  publid string Name { get; set; }
}

from c in Customersjoin p in Purchaseson c.ID equals p.CustomerIDgroup p.Price by new{p.Date.Year,c.Name}into salesByYearorderby salesByYear.Key.Year descendingselect new{TotalPrice= salesByYear.Sum(),Year=salesByYear.Key.Year,Name=salesByYear.Key.Name}    

posted on 2017-04-07 11:45 szsunny 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/sxypeace/p/6677424.html

Linq中的group by多表多字段,Sum求和相关推荐

  1. Linq中的group by多表多字段

    按我的理解,linq与sql对应,只不过,一个对应在代码里,一个对应在数据库里.之所以要使用linq,是让分工越来越精细的程序员可以基本不管数据库这一块,只须关注代码即可. 不过,linq与sql还是 ...

  2. 为什么Hive中的group by后面不能使用字段别名?

    为什么Hive中的group by后面不能使用字段别名呢?看了这篇文章你将一目了然. 文章目录 1. 案例说明 2. 分析原因 3. 解决办法 4. 执行效率 5. 总结 1. 案例说明 我们以一个例 ...

  3. oracle查询表的字段类型有哪些,oracle中查询表的信息,包括表名,字段名,字段类型,主键(精)...

    通过搜索摸索,总结了一下 oracle 中查询表的信息,包括表名,字段名,字段类型,主键, 外键唯一性约束信息,索引信息查询 SQL 如下,希望对大家有所帮助: 1.查询出所有的用户表 select ...

  4. Oracle中V$SESSION等各表的字段解释,Oracle官方解释

    https://www.cnblogs.com/grey-wolf/p/10119219.html Oracle中V$SESSION等各表的字段解释,Oracle官方解释 阅读目录 一.常用的视图 1 ...

  5. mysql 表中添加数据类型_MySQL数据表添加字段(三种方式)

    MySQL 数据表是由行和列构成的,通常把表的"列"称为字段(Field),把表的"行"称为记录(Record).随着业务的变化,可能需要在已有的表中添加新的字 ...

  6. oracle通过值查字段,Oracle 中 根据值 查询 所在 表和字段

    -------------------- -- 这里是查询 数字型字段值 /*declare CURSOR cur_query IS select table_name, column_name, d ...

  7. linux中mysql的库、表和字段的字符集指令总结

    一.查看数据库,表,字段编码 1.查看数据库编码 (1)通过show variables查看编码,需要转换数据库,不转换看的是server字符集.字符序. mysql> use test; my ...

  8. mysql count order by_【数据库】mysql中count(), group by, order by使用方法分享

    本文主要和大家分享mysql中count(), group by, order by使用方法,mysql中order by 排序查询.asc升序.desc降序,group by 分组查询.having ...

  9. mysql更新字符串中某个字符串_mysql更新某个字符串字段的部分内容

    如果现在需要Mysql更新字段重部分数据,而不是全部数据,应该采用何种方法呢?下面介绍了两种情况下Mysql更新字段中部分数据的方法,供您参考. Mysql更新字段中部分数据第一种情况: update ...

最新文章

  1. springboot+mybatis ,出现多于的参数导致查询数据缺少
  2. HDU2072 单词数
  3. JVM调优总结(2):一些概念(下)
  4. CSS中Float概念相关文章
  5. 简明python教程 --C++程序员的视角(五):面向对象的编程
  6. asp利用dictionary创建二维数组
  7. 数据分析学习02-numpy
  8. mybatis必知必会一
  9. 2018年最具就业前景的7大编程语言:Java、Python、JavaScript、C++、C#、PHP、Perl ......
  10. 量化金融第一步获取市场数据 (Python Tushare)
  11. 易语言执行linux脚本,初识易语言到编写SHELL生成器
  12. c语言简单的24点游戏,C语言解24点游戏程序
  13. [转]JS对JSON的操作总结
  14. jQuery获取不到隐藏DIV的高度和宽度
  15. sprintf函数、snprintf函数、asprintf函数、vsprintf
  16. window-linux移植
  17. 基于umijs+lerna+qiankun的微前端实现
  18. Excel时间段计算的相关公式
  19. H264BSAnalyzer 使用方法
  20. 电驴链接服务器老是无响应,电驴emule eD2k 不能连接服务器解决办法

热门文章

  1. ACM常用之 异或运算的性质。
  2. linux 内核协助的探测
  3. 最短路--DijkstraFloyedSPFA
  4. 一.redis 环境搭建
  5. 【Mood 16 】史上最全github使用方法:github入门到精通
  6. Flume-NG源码阅读之AvroSink
  7. 解析IOS控制台利用GDB命令查看报错堆栈
  8. 增加RSS订阅量的35个方法
  9. ORACLE客户端与服务器连接
  10. Qt-qml元素布局