拉姆达表达式法:
var MondayTask = (from m in MondaytaskAndOils
where m.OilId == OilId
group m by new { OilId = m.OilId, TaskType = m.TaskType } into g
select new { OilId = g.Key.OilId, TaskType = g.Key.TaskType, Volume = g.Sum(c => c.Volume) }).OrderByDescending(m => m.Volume).ToList();
OilId 与TaskType是数据相同的字段,Volume是需要累加的字段。MondaytaskAndOils可以是List集合也可以是数据库表。
例如:
OilId:1,TaskType:0,Volume:10
OilId:1,TaskType:0,Volume:10
OilId:1,TaskType:0,Volume:10
OilId:2,TaskType:1,Volume:5
OilId:2,TaskType:1,Volume:5
OilId:2,TaskType:1,Volume:5
运行上面代码后结果为:
OilId:1,TaskType:0,Volume:30
OilId:2,TaskType:0,Volume:15
知道其他方法的友友留在评论区噻,学习学习。