首页 > 其他分享 >Linq分组取分组中的最大值,并且拿到最大值对应的id

Linq分组取分组中的最大值,并且拿到最大值对应的id

时间:2022-10-20 10:45:47浏览次数:44  
标签:MobilePhoneNum 最大值 Linq item 分组 phoneCallCTIPushDatas new CreateDate PhoneCallCT

Linq分组取分组中的最大值,并且拿到最大值对应的id

            List<PhoneCallCTIPushData> phoneCallCTIPushDatas = new List<PhoneCallCTIPushData>();

            PhoneCallCTIPushData phoneCallCTIPushData1 = new PhoneCallCTIPushData() { };
            phoneCallCTIPushData1.Id = 119;
            phoneCallCTIPushData1.MobilePhoneNum = "13059310001";
            phoneCallCTIPushData1.CreateDate = Convert.ToDateTime("2022-10-01");
            phoneCallCTIPushDatas.Add(phoneCallCTIPushData1);

            PhoneCallCTIPushData phoneCallCTIPushData2 = new PhoneCallCTIPushData() { };
            phoneCallCTIPushData2.Id = 1299;
            phoneCallCTIPushData2.MobilePhoneNum = "13059310001";
            phoneCallCTIPushData2.CreateDate = Convert.ToDateTime("2022-11-02");
            phoneCallCTIPushDatas.Add(phoneCallCTIPushData2);

            PhoneCallCTIPushData phoneCallCTIPushData13 = new PhoneCallCTIPushData() { };
            phoneCallCTIPushData13.Id = 99;
            phoneCallCTIPushData13.MobilePhoneNum = "13059310001";
            phoneCallCTIPushData13.CreateDate = Convert.ToDateTime("2022-12-02");
            phoneCallCTIPushDatas.Add(phoneCallCTIPushData13);

            PhoneCallCTIPushData phoneCallCTIPushData3 = new PhoneCallCTIPushData() { };
            phoneCallCTIPushData3.Id = 3;
            phoneCallCTIPushData3.MobilePhoneNum = "13059310002";
            phoneCallCTIPushData3.CreateDate = Convert.ToDateTime("2022-10-03");
            phoneCallCTIPushDatas.Add(phoneCallCTIPushData3);

            PhoneCallCTIPushData phoneCallCTIPushData4 = new PhoneCallCTIPushData() { };
            phoneCallCTIPushData4.Id = 4;
            phoneCallCTIPushData4.MobilePhoneNum = "13059310002";
            phoneCallCTIPushData4.CreateDate = Convert.ToDateTime("2022-10-04");
            phoneCallCTIPushDatas.Add(phoneCallCTIPushData4);

            //第一轮筛选:筛选出最新日期的手机号对应的数据
            var linqResult = from t1 in phoneCallCTIPushDatas
                             group t1 by t1.MobilePhoneNum into groupTable
                             select new
                             {
                                 CreateDate2 = groupTable.Max(x => x.CreateDate),
                                 MobilePhoneNum2 = groupTable.Key
                             };

            List<PhoneCallCTIPushData> phoneCallCTIPushDatas2 = new List<PhoneCallCTIPushData>();
            Console.WriteLine("打印准备要筛选的:");
            foreach (var item in linqResult)
            {
                //第二轮筛选:匹配最新日期的手机号对应的id值
                PhoneCallCTIPushData phoneCallCTIPushData = phoneCallCTIPushDatas.Where(aa => aa.CreateDate == item.CreateDate2 && aa.MobilePhoneNum == item.MobilePhoneNum2).FirstOrDefault();
                phoneCallCTIPushDatas2.Add(phoneCallCTIPushData);
                Console.WriteLine(item.CreateDate2 + " " + item.MobilePhoneNum2 + " ");
            }
            Console.WriteLine();
            Console.WriteLine("打印结果:");
            foreach (var item in phoneCallCTIPushDatas2)
            {
                Console.WriteLine(item.Id + " " + item.MobilePhoneNum + " " + item.CreateDate);
            }
            Console.ReadKey();

 

 

 

搜索

复制

标签:MobilePhoneNum,最大值,Linq,item,分组,phoneCallCTIPushDatas,new,CreateDate,PhoneCallCT
From: https://www.cnblogs.com/jankie1122/p/16808889.html

相关文章

  • PVEiommu分组命令
    1.修改/etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT="quietintel_iommu=onpcie_acs_override=downstreamvideo=efifb:off,vesafb:off" 2.添加虚拟化驱动  na......
  • EF操作_多表联查lambda和linq
    单表sqlList<UserInfo>userList=fHZMEntities.Database.SqlQuery<UserInfo>("select*fromUserInfo").ToList();LinqList<UserInfo>userList=(fromainfH......
  • DQL_分组查询与DQL_分页查询
    DQL_分组查询分组查询1.语法:group   by分钟字段;         ......
  • 【Python】第3章-7 求最大值及其下标
    本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。输入格式:输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。输出格式......
  • acwing 分组背包问题
    题面有N组物品和一个容量是V的背包。每组物品有若干个,同一组内的物品最多只能选一个。每件物品的体积是vij,价值是wij,其中i是组号,j是组内编号。求解将哪些物品......
  • [C#]学生床位占比求解备忘录-Linq技术Demo
    代码参考:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;namespaceLinqGroupByDemp{classDorm{publicstringId{get;......
  • sqlserver实现group by实现group_concat分组并拼接一个字段
    前言:sqlserver在实现分组拼接一个字段的实现上较mysql比较复杂一些,如果实现类似功能需要借助:forxmlpath('')和stuff两个方法一起使用即可sql分组拼接示例:SELECTT......
  • 学生分组和选题【硬件课程设计】
    学生分组和选题【硬件课程设计】​​前言​​​​推荐​​​​学生分组和选题​​​​下载软件​​​​proteus7​​​​资源​​​​版本说明​​​​AltiumDesigner20​......
  • 报文、报文段、分组、包、数据报、帧、数据流 辨析
    报文、报文段、分组、包、数据报、帧、数据流的概念区别帧、报文、数据包的差别END......
  • 08.分组查询
    分组查询--根据员工所在地区分组,统计员工人数,工资总和,平均工资,最高工资,最低工资--方案1select'武汉'地区,count(*)员工人数,sum(PeopleSalary)工资总和,avg(People......