Linq中GroupBy方法的使用总结

  

集团在SQL经常使用,通常是对一个字段或者多个字段分组,求其总和,均值等。

  

Linq中的Groupby方法也有这种功能。具体实现看代码:

  

假设有如下的一个数据集:

  
  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>   
  

可以把这个数据集想象成数据库中的一个二维表格。

  

示例一   

通常我们会把分组后得到的数据放到匿名对象中,因为分组后的数据的列不一定和原始二维表格的一致。当然要按照原有数据的格式存放也是可以的,只需选择的时候采用相应的类型即可。

  

第一种写法很简单,只是根据下面分组只

  
  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>   
  

 Linq中GroupBy方法的使用总结

  

示例二   

当分组的字段是多个的时候,

  

注意:groupby后将数据放到分组这个变量中,分组其实是IGrouping类型的,IGrouping继承了IEnumerable,并且多了一个属性就即是关键那些值都相同的字段,此处就是该匿名对象。可以在后续的代码中取得这个钥匙,便于我们编程。

  

orderby多个字段的时候,在SQL中是用逗号分割多个字段

  
  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>   
  

 Linq中GroupBy方法的使用总结

  

示例三   

Linq中没有SQL中有语的句,因此是采用语在句对集团后的结果过滤只

  
  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李类=癮lt”>这样一个类型。 <李类=癮lt”>  <李类=癮lt”>  <李类=癮lt”>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>  <李>  <李类=癮lt”>   
  

 Linq中GroupBy方法的使用总结

  附件:http://down.51cto.com/data/2362114

Linq中GroupBy方法的使用总结