Linq使用GroupBy详细分析

Linq有很多值得学习的地方,这里我们主要介绍Linq使用Group By,包括介绍Linq简单形式等方面。

创新互联建站是网站建设技术企业,为成都企业提供专业的网站制作、成都网站设计,网站设计,网站制作,网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制适合企业的网站。十载品质,值得信赖!

1.简单形式:

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select g; 

语句描述:Linq使用Group By按CategoryID划分产品。

说明:from p in db.Products 表示从表中将产品对象取出来。group p by p.CategoryID into g表示对p按CategoryID字段归类。其结果命名为g,一旦重新命名,p的作用域就结束了,所以,***select时,只能select g。

2.***值

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. MaxPrice = g.Max(p => p.UnitPrice)  
  7. }; 

语句描述:Linq使用Group By和Max查找每个CategoryID的***单价。

说明:先按CategoryID归类,判断各个分类产品中单价***的Products。取出CategoryID值,并把UnitPrice值赋给MaxPrice。

3.最小值

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. MinPrice = g.Min(p => p.UnitPrice)  
  7. }; 

语句描述:Linq使用Group By和Min查找每个CategoryID的***单价。

说明:先按CategoryID归类,判断各个分类产品中单价最小的Products。取出CategoryID值,并把UnitPrice值赋给MinPrice。

4.平均值

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. AveragePrice = g.Average(p => p.UnitPrice)  
  7. }; 

语句描述:Linq使用Group By和Average得到每个CategoryID的平均单价。

说明:先按CategoryID归类,取出CategoryID值和各个分类产品中单价的平均值。

5.求和

 
 
 
  1. var q =  
  2. from p in db.Products  
  3. group p by p.CategoryID into g  
  4. select new {  
  5. g.Key,  
  6. TotalPrice = g.Sum(p => p.UnitPrice)  
  7. }; 

网站标题:Linq使用GroupBy详细分析
链接URL:http://www.mswzjz.cn/qtweb/news3/523003.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能