List<scoreruleA> list = new List<scoreruleA>()
{
new scoreruleA() {id=1,scoreitem="语文",score=92 },
new scoreruleA() {id=1,scoreitem="语文",score=90 },
new scoreruleA() {id=2,scoreitem="语文",score=95 },
new scoreruleA() {id=3,scoreitem="数学",score=21 },
new scoreruleA() {id=3,scoreitem="数学",score=34 },
new scoreruleA() {id=6,scoreitem="数学",score=45 },
};
1.实现按照 学科 分数 分组。
var aa = list.GroupBy(a => a.scoreitem).Select(g => (new {aabb=g, year = g.Key, avg = g.Average(m => m.score), max = g.Max(n => n.score), count = g.Count() }));
2.实现按照 班级 学科 分数 分组。
var bb = list.GroupBy(a => new { a.id, a.scoreitem }).Select(g => (new { aabb = g, year = g.Key, avg = g.Average(m => m.score), max = g.Max(n => n.score), count = g.Count() }));