[英]group and sum in linq to sql
我想总结基于studentId的DayDifference
List<Timeliness> studentData = (from redt in RoundEndDateTable.AsEnumerable()
join st in Activity on redt.Field<string>("strActivityName") equals st.ActivityName
orderby (DateTime.Parse(redt.ItemArray[1].ToString()) - DateTime.Parse(st.RewardType.ToString())) descending
select new Timeliness
{
DayDifference = int.Parse((DateTime.Parse(redt.ItemArray[1].ToString()) - DateTime.Parse(st.RewardType)).ToString().Split('.')[0]),
StudentId = st.AssociateId.ToString()
}).ToList();
我尝试了以下代码
var groupedCustomerList = studentData
.GroupBy(u => u.StudentId)
.Select(grp => grp.ToList())
.ToList();
不确定上述代码中的总和在哪里
在第一个查询中,我重复获取学生证
例如:
[0] - studentid:123 DayDifference:16
[1] - studentid:123 DayDifference:8
[2] - studentid:121 DayDifference:16
我需要
[0] - studentid:123 DayDifference:24
[2] - studentid:121 DayDifference:16
这应该创建一个匿名类型的集合,其中包含每个“ Key”(StudentId)和每个StudentId的“ DayDifference”值之和:
var result =
studentData.GroupBy(u => u.StudentId)
.Select(grp => new { Id = grp.Key, TotalDiff = grp.Sum(x => x.DayDifference) })
.ToList();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.