我有一个表需要填充记录,如下所示.每条记录都有一个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
Run Code Online (Sandbox Code Playgroud)
有一个名为status的列,可以是Entered,Progress或Finished.我需要一种按Div,Bus,Dept分组的方法,并计算每条记录的状态,然后如上图所示汇总每个部门的代码.我尝试了以下linq查询
var records = records.GroupBy(x=>new {x.Div, x.Bus,x.Dept,x.Status.Count()};
Run Code Online (Sandbox Code Playgroud)
我不确定在哪里接受查询,我在使用linq进行分组方面不太强大.
Ste*_*ler 12
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),
});
Run Code Online (Sandbox Code Playgroud)
如果您来自SQL背景,LINQ中的SQL查询可以帮助您更熟悉LINQ.
归档时间: |
|
查看次数: |
7999 次 |
最近记录: |