首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用LINQ获取Count()的Max()

如何使用LINQ获取Count()的Max()
EN

Stack Overflow用户
提问于 2010-11-17 07:32:34
回答 4查看 11.3K关注 0票数 10

我是LINQ的新手,我遇到了这种情况。我有一张桌子:

代码语言:javascript
运行
复制
ID Date  Range
1 10/10/10 9-10
2 10/10/10 9-10
3 10/10/10 9-10
4 10/10/10 8-9
5 10/11/10 1-2
6 10/11/10 1-2
7 10/12/10 5-6

我只想按范围列出每个日期的最大行数,如下所示:

代码语言:javascript
运行
复制
Date  Range  Total
10/10/10 9-10  3
10/11/10 1-2  2
10/12/10 5-6  1

我想用LINQ来做这件事,你有什么办法吗?

EN

回答 4

Stack Overflow用户

发布于 2010-11-17 07:57:42

我认为以下几点应该是可行的:

代码语言:javascript
运行
复制
List<MyTable> items = GetItems();
var orderedByMax = from i in items
                   group i by i.Date into g
                   let q = g.GroupBy(i => i.Range)
                            .Select(g2 => new {Range = g2.Key, Count = g2.Count()})
                            .OrderByDescending(i => i.Count)
                   let max = q.FirstOrDefault()
                   select new {
                      Date = g.Key,
                      Range = max.Range,
                      Total = max.Count
                   };
票数 6
EN

Stack Overflow用户

发布于 2010-11-17 22:40:03

使用扩展方法:

代码语言:javascript
运行
复制
List<MyTable> items = GetItems();

var rangeTotals = items.GroupBy(x => new { x.Date, x.Range }) // Group by Date + Range
                  .Select(g => new { 
                              Date = g.Key.Date, 
                              Range = g.Key.Range, 
                              Total = g.Count() // Count total of identical ranges per date
                              });

var rangeMaxTotals = rangeTotals.Where(rt => !rangeTotals.Any(z => z.Date == rt.Date && z.Total > rt.Total)); // Get maximum totals for each date
票数 5
EN

Stack Overflow用户

发布于 2010-11-17 07:40:46

不幸的是,我现在不能测试它,但试一试:

代码语言:javascript
运行
复制
List<MyTable> items = GetItems();
items.Max(t=>t.Range.Distinct().Count());
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4200126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档