首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在linq结果中包括计数=0

在linq结果中包括计数=0
EN

Stack Overflow用户
提问于 2016-08-11 14:49:02
回答 2查看 1.8K关注 0票数 5

我有一张有TeamNameCurrentStatus字段的桌子。我正在进行一个linq查询,以获取每个团队和每个状态的记录计数:

代码语言:javascript
运行
复制
var teamStatusCounts = models.GroupBy(x => new { x.CurrentStatus, x.TeamName })
                             .Select(g => new { g.Key, Count = g.Count() });

此查询的结果将返回除计数为0以外的所有计数。我需要得到没有特定团队记录和特定状态的行(其中count = 0)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-11 14:57:57

您可以为您所期望的团队名称和状态拥有一个单独的集合,并将缺失的集合添加到结果集中。

代码语言:javascript
运行
复制
//assuming allTeamNamesAndStatuses is a cross joing of all 'CurrentStatus' and 'TeamNames'
var teamStatusCounts = models.GroupBy(x => new { x.CurrentStatus, x.TeamName })
                             .Select(g => new { g.Key, Count = g.Count() })
                             .ToList();

var missingTeamsAndStatuses = allTeamNamesAndStatuses
                   .Where(a=>
                      !teamStatusCounts.Any(b=>
                          b.Key.CurrentStatus == a.CurrentStatus 
                          && b.Key.TeamName == a.TeamName))
                   .Select(a=>new { 
                        Key = new {  a.CurrentStatus, a.TeamName  }, 
                        Count = 0 
                   });

teamStatusCounts.AddRange(emptyGroups);

我制作了一把小提琴,演示了答案

票数 2
EN

Stack Overflow用户

发布于 2016-08-11 15:28:34

我首先选择团队名称和状态:

代码语言:javascript
运行
复制
var teams = models.Select(x => x.TeamName).Distinct().ToList();
var status = models.Select(x => x.CurrentStatus).Distinct().ToList();

如果您已经知道列表项,则可以跳过此操作。

然后,您可以为每个团队和每个状态选择模型的数量:

代码语言:javascript
运行
复制
var teamStatusCounts = teams.SelectMany(team => states.Select(state =>
    new
    {
        TeamName = team,
        CurrentStatus = state,
        Count = models.Count(model =>
                    model.TeamName == team && model.CurrentStatus == state)
    }));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38899661

复制
相关文章

相似问题

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