我有以下动态列表
Crew NameSurname Period Result
ABC John DOE Q1 54,09
ABC John DOE Q2 59,57
ABC John DOE Q3 62,11
Run Code Online (Sandbox Code Playgroud)
如何在linq中获得此结果.
Crew NameSurname Q1 Q2 Q3
ABC John DOE 47,51 47,51 51,46
Run Code Online (Sandbox Code Playgroud)
我试过这种方式,但我无法得到结果
List.GroupBy(c => c.PersonnelID)
.Select(g => new
{
PersonnelID = g.Key,
Period1 = g.Where(c => c.Period == 1).Sum(c => c.Result),
Period2 = g.Where(c => c.Period == 2).Sum(c => c.Result),
Period3 = g.Where(c => c.Period == 3).Sum(c => c.Result)
});
Run Code Online (Sandbox Code Playgroud)