繁体   English   中英

按列多列linq计数嵌套行

[英]Group by multiple columns linq count nested row

我有一个表需要填充记录,如下所示。 每条记录都有一个div,bus和dept,以及一个状态代码,即Entered,Progress和Finished。

Div Bus Dept    Entered Progress    Finished
Com XYZ Credit  1   1   1
Con DBD Fraud   2   5   3
Con AAA Call C  5   55  2
Com BBB Auth    1   4   3
Com AAA AES 8   1   1
Con XYZ Collection  1   1   1

Con         12  3   5
Com         5   1   7

有一个名为status的列,可以是Entered,Progress或Finished。 我需要一种按Div,Bus,Dept分组的方法,并计算每条记录的状态,然后总结每个部门的代码,如上所示。 我尝试了以下linq查询

var records = records.GroupBy(x=>new {x.Div, x.Bus,x.Dept,x.Status.Count()};

我不确定在哪里接受查询,我在使用linq进行分组方面不太强大。

records
    .GroupBy(x => new { x.Div, x.Bus, x.Dept })
    .Select(g => new 
        { 
            g.Key.Div, 
            g.Key.Bus, 
            g.Key.Dept, 
            Entered = g.Count(r => r.Status == Entered),
            Progress= g.Count(r => r.Status == Progress),
            Finished= g.Count(r => r.Status == Finished),
        });

如果您来自SQL背景,LINQ中的SQL查询可以帮助您更熟悉LINQ。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM