//Line to Sql 写法
var data = (from a in Items
group 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>)
.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 == || b.Type == || b.Type == ) && b.State == )
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 Customers
join p in Purchases
on c.ID equals p.CustomerID
group p.Price by new
{
p.Date.Year,
c.Name
}
into salesByYear
orderby salesByYear.Key.Year descending
select new
{
TotalPrice= salesByYear.Sum(),
Year=salesByYear.Key.Year,
Name=salesByYear.Key.Name
}

Linq中的group by多表多字段,Sum求和的更多相关文章

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

    在sql中,如果有group by,那么select的字段只能包含分组内容,或者count.sum.avg这些统计字段. 但在linq里面,是:group 你想要什么字段 by 分组字段 比如: va ...

  2. Linq中join & group join & left join 的用法

    Linq中join & group join & left join 的用法 2013-01-30 11:12 12154人阅读 评论(0) 收藏 举报  分类: C#(14)  文章 ...

  3. 【SQL】oralce中使用group by和case when按照条件求和

    假设我们有一个Salary 薪水表.这个表的字段分别为:id, name, salary, level  在这个表中,每个人有不同的级别(level).我们要根据不同的级别统计相同级别员工的薪水总和. ...

  4. sql 查找数据库中某字符串所在的表及字段

    declare   @str   varchar(100)     set   @str='是否严格控制'     --要搜索的字符串         declare   @s   varchar(8 ...

  5. linq中的group by

    现有如下需求,要求统计int数组中每个整数的个数: ,,,,,,,,,,,, }; var linq = from item in arrInt group item by item into g// ...

  6. Linq中left join之多表查询

    using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...

  7. hive中sql解析出对应表和字段的实现

    import java.io.IOException; import java.util.HashMap; import java.util.HashSet; import java.util.Map ...

  8. ecshop中user.php中的$user说明---user表加字段

    今天想对user表加个字段,打开user.php发现有个$user,其中它有很多方法,像登陆,注册,退出.都要用到它.可找了大半天也找不到这个函数调用的是哪个类.又坚持找了半天,发现$user在ini ...

  9. hive中sql解析出对应表和字段的调查

    ---恢复内容开始--- .阿里的druid中的sql parser有各种关系数据库sql的解析,但hive的不支持. druid初期的版本中是包含hive的,将以前版本中的hive dialect对 ...

随机推荐

  1. phonegap 解决https访问问题

    ios报错 在AppDelegate.m文件在最后加入(在@end后面加空行): @implementation NSURLRequest(DataController) + (BOOL)allows ...

  2. 破解Mac版MyEclipse-2017-ci3 2017、11、21亲测有效

    一.前提 要有安装好的jdk,没有的Mac用户看这篇博客:给Mac安装最新版本的jdk(戳此)  Windows用户先去官网(戳此)下载jdk,然后百度”jdk配置环境变量”(戳此),很简单的,加油你 ...

  3. 01-19asp.net基础--网站登录及验证

    第一步: 1)首先使用“CodeSmith”将Examinee类实体化,并生成实体类连接数据库的方法,存在解决方案下的“App_Code”文件夹下. 修改一下连接某个数据库: private SqlC ...

  4. MySessionFactory

    package com.ORM; import org.hibernate.HibernateException; import org.hibernate.Session; import org.h ...

  5. spring bean属性及子元素使用总结

    spring bean属性及子元素使用总结 2016-08-03 00:00 97人阅读 评论(0) 收藏 举报  分类: Spring&SpringMVC(17)  版权声明:本文为博主原创 ...

  6. 一行代码搞定所有屏幕适配AbViewUtil

    适配原理:抛弃google提供的dip理论与多套图片与布局方案,采用与UI设计师通用的px作为标准单位,原理是将UI设计师的设计图与当前查看的手机或其他设备的屏幕像素尺寸进行换算,得到缩放比例,在Ac ...

  7. LINUX关闭防火墙、开放特定端口等常用操作

    1. 重启后永久性生效: 开启:chkconfig iptables on 关闭:chkconfig iptables off 2. 即时生效,重启后失效: 开启:service iptables s ...

  8. Centos彻底完全删除已安装软件的办法

    1.查询是否安装了软件 rpm -qa | grep -i 软件名 rpm -qa | grep php 2.删除已安装的软件包 根据第一步显示的软件包名,一个个删除 sudo rpm -e -- 包 ...

  9. php学习笔记-elseif

    <?php if(condition1) { func1(); }elseif(condition2) { func2(); }else { func3(); } ?> elseif需要明 ...

  10. BridgePattern(23种设计模式之一)

    生活中的一个例子 就拿汽车在路上行驶的来说.即有小汽车又有公共汽车,它们都不但能在市区中的公路上行驶,也能在高速公路上行驶.这你会发现,对于交通工具(汽车)有不同的类型,然而它们所行驶的环境(路)也在 ...