首页 > 解决方案 > Linq - 出现的最高值

问题描述

我的要求是使用 Linq 根据出现的最高值获取数据。

       var Output = (from s in  dt2.AsEnumerable()
                    from c in  dt1.AsEnumerable()
                    where Regex.IsMatch(s.Field<string>("CODE1"), c.Field<string>("CODE1")) &&
                          Regex.IsMatch(s.Field<string>("SAMPLE"), c.Field<string>("CODE2"))                                                           
                      select new
                     {
                         OCCURANCE = c.Field<int>("OCCURANCE"),
                         CODE1 = s.Field<string>("CODE1"),
                         SAMPLE = s.Field<string>("SAMPLE"),
                     });

接收输出如下 -

发生率 代码1 样本
1 120 VP10 OB-444
2 120 VP10 OC-555
3 120 VP10 OD-666
4 100 VP10 OD-666

从上面的结果集中,第 3 行和第 4 行在 CODE1 和 SAMPLE 列中包含相同的数据。但我需要获取具有最高 OCCURANCE 值的记录,因此我需要获取第 3 行并排除第 4 行。

我所需的输出如下所示 -

发生率 代码1 样本
120 VP10 OB-444
120 VP10 OC-555
120 VP10 OD-666

标签: c#asp.netlinqlinq-to-sql

解决方案


推荐阅读