希望能有所帮助。
我正在从数据库中检索以下列表。
Name AssessNumber Score
John 1 90
John 2 88
John 3 67
Steve 1 98
Steve 2 90
我想要的是按平均分数分组并显示最高评估数(int)
Name AssessNumber Score
John 3 81.6
Steve 2 94
数据将存储在
List<lbResults>lb = new List<lbResults>()
中我该如何实现?
亲切的问候
最佳答案
尝试这个:
var results = data.GroupBy(x => x.Name).Select(x => new
{
Name = x.Key,
AssessNumber = x.Max(z => z.AssessNumber),
Score = x.Average(z => z.Score)
})
您还可以返回原始数据结构(您将其命名为
lbResults
):var results = data.GroupBy(x => x.Name).Select(x => new lbResults
{
Name = x.Key,
AssessNumber = x.Max(z => z.AssessNumber),
Score = x.Average(z => z.Score)
})
见Fiddle