我有一个看起来像这样的数据表
填充数据表后,我将使用以下代码按名称和总和分组。
var result = from tab in dtTemp.AsEnumerable()
group tab by tab["Name"]
into groupDt
select new
{
Agent = groupDt.Key,
Commision = groupDt.Sum((r) => decimal.Parse(r["Amount"].ToString()))
};
这给了我这个结果,但事实是我缺少FixedSalary列。但是,好像我只能像对Commision = groupDt.Sum((r) => decimal.Parse(r["Amount"].ToString()))
那样对列数据进行求和,才能访问列数据-而且我不想对列进行求和。
预先感谢
答案 0 :(得分:3)
如果“姓名”的固定薪资始终相同,则可以使用:
var result = from tab in dtTemp.AsEnumerable()
group tab by tab["Name"]
into groupDt
select new
{
Agent = groupDt.Key,
Commision = groupDt.Sum((r) => decimal.Parse(r["Amount"].ToString())),
FixedSalary = groupDt.Select(r => r["FixedSalary"].ToString()).FirstOrDeafult()
};
如果可以更改,则应将其与名称列分组。