首页 > 其他分享 >Linq Group by

Linq Group by

时间:2023-09-20 23:38:19浏览次数:45  
标签:Group Name Comp Age Linq Emp WriteLine new

点击查看代码
using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{
  public static void Main()
  {
    var list = new List<Emp>
    {
      new Emp{ Age = 1, Comp="11", Name="111"},
      new Emp{ Age = 2, Comp="11", Name="222"},
      new Emp{ Age = 3, Comp="11", Name="333"},
      new Emp{ Age = 4, Comp="22", Name="444"},
      new Emp{ Age = 5, Comp="22", Name="555"},
      new Emp{ Age = 6, Comp="22", Name="666"},
      new Emp{ Age = 7, Comp="22", Name="777"},
    };
    // avg count oldest
    var eg = list.GroupBy(e => e.Comp);
    foreach(var e in eg.ToDictionary(k=>k.Key, v=> v.Count())){
      Console.WriteLine($"{e.Key} - {e.Value}");
    }
    Console.WriteLine("***********************************");
    foreach(var e in eg.ToDictionary(k=>k.Key, v=> (int)v.Average(e=>e.Age))){
      Console.WriteLine($"{e.Key} - {e.Value}");
    }
    Console.WriteLine("***********************************");
    foreach(var e in eg.ToDictionary(k=>k.Key, v=> v.Max(e=>e.Age))){
      Console.WriteLine($"{e.Key} - {e.Value}");
    }
    Console.WriteLine("***********************************");
    foreach(var e in eg){
      var max = e.Max(f=>f.Age);
      Console.WriteLine($"{e.Key} - {e.FirstOrDefault(s=> s.Age == max)}");
    }
  }

  public  class Emp
  {
    public int Age{get;set;}
    public string Name{get;set;}
    public string Comp{get;set;}
  }
}

Test

标签:Group,Name,Comp,Age,Linq,Emp,WriteLine,new
From: https://www.cnblogs.com/RocCnBlog/p/17718783.html

相关文章

  • 关于hive中使用group by报错的问题的解决
    问题描述+问题解决在我在hive数据库中使用groupby的函数时,如果在我们决定显示出来的字段名中有非聚合的字段(即字段名为原生字段名,并没有加什么SUM等聚合函数),那么,我们就必须在groupby后面引用上这个非聚合字段,否则就会报错;同时,在我们写数据到新的数据表中时,一定要保证我们所......
  • group by 用java代码实现
    importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Map.Entry;publicclassListGroup{publicstaticvoidmain(String[]args){List<JavaBean>list=newArrayList<JavaB......
  • Jasper模板使用记录七——Group分组
    Group特点1.通过Group分组可以将集合中的数据进行分组显示2.Group分组有GroupHeader和GroupFooter可以在每个组的前后添加元素3.Group分组的效果是在Detail中显示的注意点Group并不会将乱序的集合数据进行分组和排序,只会按照集合的顺序进行遍历,如果本条数据和上一条......
  • 【Pandas】groupby连用的count()和size()的区别
    groupby连用的count()和size()的区别count()计算的是value(数值);size()计算的是size(个数)我们有以下表:size()age=df.groupby(by='Nation').size().reset_index()age可以发现,size()计数的是记录的条数,即每个nation对应有多少条count()count=df_try.groupby(by=......
  • Qt中QGroupBox控件上禁用标志怎么去掉
    ref: https://blog.csdn.net/u011281951/article/details/131316569问题描述:如下图,使用qt新建一个工程,发现QGroupBox控件上总是有个禁用标志,有时候又没有,不清楚怎么回事,网上查了一圈没发现合适的答案,摸索一圈好像找到窍门了,记录下来,气候作为参考(网上的小伙伴如清楚这块的配置,欢......
  • 用AngleSharp & LINQPad抓取分析博客园排行榜
    用AngleSharp&LINQPad抓取分析博客园排行榜 AngleSharp简单介绍AngleSharp 是一个 .NET库使您能够解析基于尖括号的超文本,如HTML、SVG、MathML、XMLAngleSharp的一个重要方面是CSS也可以解析。同时还是开源,免费的Github: https://github.com/AngleSharp/AngleS......
  • Linq中.AsEnumerable(), AsQueryable() ,.ToList(),的区别和用法
    当使用LINQ查询数据时,我们常常会面临选择使用.AsEnumerable(),.AsQueryable(),和.ToList()方法的情况。这些方法在使用时有不同的效果和影响,需要根据具体场景来选择合适的方法.AsEnumerable()方法:使用.AsEnumerable()方法可以将查询结果从数据库转换为IEnumerable类型,从而在......
  • GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例
     本文分享自华为云社区《GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例》,作者:O泡果奶~。本文针对SQL语句长时间执行不出来,且verbose执行计划中出现Sort+GroupAgg聚集方式的案例进行分析。1、【问题描述】语句执行时间过长,2300s+也无法得出结果。从verbose执行计划可......
  • 升讯威在线客服系统的并发高性能数据处理技术:PLINQ并行查询技术
    我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户。对我来说,只要能获得用户的认可,就是我最大的动力。最近客服系统成功经受住了客户现场组织的压力测试,获得了客户的认可。客户组织多名客服上线后,所有员工同一时间打开访客页面疯狂不停的给在线客服发消......
  • 【愚公系列】2023年09月 WPF控件专题 Groupbox控件详解
    (文章目录)前言WPF控件是WindowsPresentationFoundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。原生控件是由Microsoft提供的内置控件,如Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见......