1.计数
var q =  from p in db.Products  group p by p.CategoryID into g  select new {  g.Key,  NumProducts = g.Count()  }; 
语句描画:Linq运用Group By和Count失掉每个CategoryID中产物的数目。
说明:先按CategoryID归类,取出CategoryID值和各个分类产物的数目。
 
2.带请求计数
var q =  from p in db.Products  group p by p.CategoryID into g  select new {  g.Key,  NumProducts = g.Count(p => p.Discontinued)  }; 
语句描画:Linq运用Group By和Count失掉每个CategoryID中缀货产物的数目。
说明:先按CategoryID归类,取出CategoryID值和各个分类产物的断货数目。 Count函数里,运用了Lambda表达式,Lambda表达式中的p,代表这个组里的一个元素或对象,即某一个产物。
 
3.Where约束
var q =  from p in db.Products  group p by p.CategoryID into g  where g.Count() >= 10  select new {  g.Key,  ProductCount = g.Count()  }; 
语句描画:依据产物的―ID分组,查询产物数目大于10的ID和产物数目。这个示例在Group By子句后运用Where子句查找全部至少有10种产物的类别。
说明:在翻译成SQL语句时,在最外层嵌套了Where请求。
 
4.多列(Multiple Columns)
var categories =  from p in db.Products  group p by new  {  p.CategoryID,  p.SupplierID  }  into g  select new  {  g.Key,  g  }; 
语句描画:Linq运用Group By按CategoryID和SupplierID将产物分组。
说明:既按产物的分类,又按供应商分类。在by后面,new出来一个匿名类。这里,Key实践上质是一个类的对象,Key包括两个Property:CategoryID、SupplierID。用g.Key.CategoryID可以遍历CategoryID的值。
 
5.表达式(Expression)
var categories =  from p in db.Products  group p by new { Criterion = p.UnitPrice > 10 } into g  select g; 
语句描画:Linq运用Group By前往两个产物序列。第一个序列包括单价大于10的产物。第二个序列包括单价小于或等于10的产物。
说明:按产物单价可否大于10分类。其结果分为两类,大于的是一类,小于及等于为另一类。 

Linq使用Group By经验总结的更多相关文章

  1. Linq使用Group By 1

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

  2. sql的 group by 分组;linq的 group by 分组

    先来看看 linq的,下面的一段linq 是 ,在 学生导入数据的时候,我们根据学生的手机号码和学生名称进行分组,如果有重复的,我们就筛选出来,用到了 linq的 group by,注意这里是new出 ...

  3. 在LINQ查询中LINQ之Group By的用法

    LINQ定义了大约40个查询操作符,如select.from.in.where.group 以及order by,借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据.Linq有很 ...

  4. linq中group by

    本文导读:LINQ定义了大约40个查询操作符,如select.from.in.where.group 以及order by,借助于LINQ技术,我们可以使用一种类似SQL的语法来查询任何形式的数据.L ...

  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. LINQ学习——Group

    一.Group的作用 1.Group字句把select的对象根据一些标准进行分组. 2.从查询表达式返回的对象是从查询中枚举分组结果的可枚举类型. 3.每一个分组由一个叫做键的字段区分. 4.每一个分 ...

  7. 解决Linq Join Group by 时报错:Nullable object must have a value.

    Linq Join Group by 时报Nullable object must have a value. 例如: from s in subject on ch.SubId equals s.S ...

  8. Linq之group子句

    在Linq查询语句中,group子句主要作用是对查询的结果集进行分组.并返回元素类型为IGrouping<TKey,TElement>的对象序列. 下面我们在代码实例中创建一个GroupQ ...

  9. Linq DataTable Group By 分组显示人员明细

    实现功能:       多个字段分组源码样例: 原始数据: 分组后的输出结果: 源代码: public static void PrintPersons() { //准备数据 DataTable dt ...

随机推荐

  1. 查看mysql库大小,表大小,索引大小

    查看所有库的大小 mysql> use information_schema; Database changed mysql> selectconcat(round(sum(DATA_LE ...

  2. JBPM4之decision节点:2、好学生|坏学生|超级学生

    JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...

  3. suse linux中apache+php服务器安装

    主站下载源码 tar zxvf httpd-2.2.4.tar.bz2cd httpd-2.2.4 ./configure --prefix=/usr/local/apache --sysconfdi ...

  4. c# 读取IntPtr 中的数据 z

    c++的写法是这样的: LRESULT CPictureQueryDlg::OnQueryPicNty(WPARAM wp, LPARAM lp) { EnableWindow(TRUE); BYTE ...

  5. Ubuntu 升级到13.10之后出现Apache2启动失败的问题

    昨天看到Ubuntu 13.04提示有新的发行版Ubuntu 13.10了,手痒了一下,没有忍住就升级了. 结果升级完毕之后发现Apache2服务启动失败了,失败信息是: Invalid comman ...

  6. delphi TClientDataSet 保存到XML

    procedure ExPortNodeQuantifyComponent1(aCDS: TClientDataSet; aCurrNode: TXMLNode); var mStream: TMem ...

  7. Groovy读取properties及txt

    昨晚帮老同事解决了一个SoapUI的代码问题,好长时间没用SoapUI,好多东西都忘了,今天先总结下Groovy读取properties 首先吐槽下SoapUI的apidocs,我几乎从中看不出什么东 ...

  8. 可进行JavaScript代码测试与调试的12个网站

    概述:JavaScript是网站前端开发最为重要的一门编程语言,本文收集了能够在线测试与调试JavaScript代码的12个网站 1.JS Bin JS bin是一个为JavaScript和CSS爱好 ...

  9. Floyd算法解决最短路径问题

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 万圣节的中午,A和B在吃过中饭之后,来到了一个新的鬼屋!鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间互相有一些 ...

  10. mac 配置Python集成开发环境(Eclipse +Python+Pydev)

    1.下载Mac版64位的Eclipse. 进入到Eclipse官方网站的下载页面(http://www.eclipse.org/downloads/),我选择了下图所示的软件包, 浏览器在下载过程中使 ...