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}
转载于:https://www.cnblogs.com/sxypeace/p/6677424.html
Linq中的group by多表多字段,Sum求和相关推荐
- Linq中的group by多表多字段
按我的理解,linq与sql对应,只不过,一个对应在代码里,一个对应在数据库里.之所以要使用linq,是让分工越来越精细的程序员可以基本不管数据库这一块,只须关注代码即可. 不过,linq与sql还是 ...
- 为什么Hive中的group by后面不能使用字段别名?
为什么Hive中的group by后面不能使用字段别名呢?看了这篇文章你将一目了然. 文章目录 1. 案例说明 2. 分析原因 3. 解决办法 4. 执行效率 5. 总结 1. 案例说明 我们以一个例 ...
- oracle查询表的字段类型有哪些,oracle中查询表的信息,包括表名,字段名,字段类型,主键(精)...
通过搜索摸索,总结了一下 oracle 中查询表的信息,包括表名,字段名,字段类型,主键, 外键唯一性约束信息,索引信息查询 SQL 如下,希望对大家有所帮助: 1.查询出所有的用户表 select ...
- Oracle中V$SESSION等各表的字段解释,Oracle官方解释
https://www.cnblogs.com/grey-wolf/p/10119219.html Oracle中V$SESSION等各表的字段解释,Oracle官方解释 阅读目录 一.常用的视图 1 ...
- mysql 表中添加数据类型_MySQL数据表添加字段(三种方式)
MySQL 数据表是由行和列构成的,通常把表的"列"称为字段(Field),把表的"行"称为记录(Record).随着业务的变化,可能需要在已有的表中添加新的字 ...
- oracle通过值查字段,Oracle 中 根据值 查询 所在 表和字段
-------------------- -- 这里是查询 数字型字段值 /*declare CURSOR cur_query IS select table_name, column_name, d ...
- linux中mysql的库、表和字段的字符集指令总结
一.查看数据库,表,字段编码 1.查看数据库编码 (1)通过show variables查看编码,需要转换数据库,不转换看的是server字符集.字符序. mysql> use test; my ...
- mysql count order by_【数据库】mysql中count(), group by, order by使用方法分享
本文主要和大家分享mysql中count(), group by, order by使用方法,mysql中order by 排序查询.asc升序.desc降序,group by 分组查询.having ...
- mysql更新字符串中某个字符串_mysql更新某个字符串字段的部分内容
如果现在需要Mysql更新字段重部分数据,而不是全部数据,应该采用何种方法呢?下面介绍了两种情况下Mysql更新字段中部分数据的方法,供您参考. Mysql更新字段中部分数据第一种情况: update ...
最新文章
- springboot+mybatis ,出现多于的参数导致查询数据缺少
- HDU2072 单词数
- JVM调优总结(2):一些概念(下)
- CSS中Float概念相关文章
- 简明python教程 --C++程序员的视角(五):面向对象的编程
- asp利用dictionary创建二维数组
- 数据分析学习02-numpy
- mybatis必知必会一
- 2018年最具就业前景的7大编程语言:Java、Python、JavaScript、C++、C#、PHP、Perl ......
- 量化金融第一步获取市场数据 (Python Tushare)
- 易语言执行linux脚本,初识易语言到编写SHELL生成器
- c语言简单的24点游戏,C语言解24点游戏程序
- [转]JS对JSON的操作总结
- jQuery获取不到隐藏DIV的高度和宽度
- sprintf函数、snprintf函数、asprintf函数、vsprintf
- window-linux移植
- 基于umijs+lerna+qiankun的微前端实现
- Excel时间段计算的相关公式
- H264BSAnalyzer 使用方法
- 电驴链接服务器老是无响应,电驴emule eD2k 不能连接服务器解决办法