Linq数据分组全面描述
创始人
2024-06-07 05:00:44
0

Linq有很多值得学习的地方,这里我们主要介绍Linq数据分组,包括介绍使用 Group 关键字等方面。

Linq数据分组(GROUP BY)

根据元素的一个或多个字段对查询结果中的元素进行分组。例如:按年级 (class year) 对学生进行Linq数据分组:

  1. Dim studentsByYear = From student In students _  
  2. Select student _  
  3. Group By year = student.Year _  
  4. Into Classes = Group 

输出结果的程序:

  1. For Each yearGroup In studentsByYear  
  2. Console.WriteLine(vbCrLf & "Year: " & yearGroup.year)  
  3. For Each student In yearGroup.Classes  
  4. Console.WriteLine(" " & student.Last & ", " & student.First)  
  5. Next  
  6. Next 

完整语法:

  1. Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]  
  2. Into aggregateList 

◆listField1, listField2 :可选。查询变量的一个或多个字段,这些查询变量显式标识要包括在分组结果中的字段。如果未指定任何字段,则查询变量的所有字段都包括在分组结果中。

◆keyExp1 :必需。一个表达式,标识用于确定元素的分组的键。可以指定多个键来指定一个组合键。

◆keyExp2 :可选。一个或多个附加键,与 keyExp1 组合在一起,创建一个组合键。

◆aggregateList :必需。一个或多个表达式,标识如何对组进行聚合。若要为分组结果标识一个成员名称,请使用 Group 关键字,该关键字可以:Into Group

Linq数据分组例如:

  1. Dim ***层_分组 = From cust In db.Customers _  
  2. Group By 国家 = cust.Country _  
  3. Into 第二层_分组元素 = Group, Count() _  
  4. Order By 国家  
  5.  
  6. For Each A分组 In ***层_分组  
  7. Console.WriteLine(A分组.国家 & "(" & A分组.Count & ")")  
  8.  
  9. For Each A元素 In A分组.第二层_分组元素  
  10. Console.WriteLine(vbTab + A元素.CompanyName + "," + A元素.ContactName)  
  11. Next  
  12. Next 

【编辑推荐】

  1. Linq表达式树简单介绍
  2. Linq和dLinq区别剖析
  3. Lambda表达式和Linq查询浅析
  4. Linq Lambda表达式概括
  5. Linq查询本质简单分析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...