希望得到一点帮助。
我正在从数据库中检索以下列表。
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
关于c# - 使用 linq 检索平均分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29630582/