后台代码:
datatable:dtSource
//汇总统计
var q1 = from dt1 in dtSource.AsEnumerable()//查询
orderby dt1.Field<string>("字段1") descending//排序
where dt1.Field<DateTime>("字段2") > DateTime.Now //条件 可用 == != 等表达式
group dt1 by new { A1 = dt1.Field<string>("字段3") } into m
select new
{
areaName = m.Key.A1,
AGENTLICENSE = m.Sum(n1 => Convert.ToDecimal(n1["AGENTLICENSE"])),
OUTBOUNDLICENSE = m.Sum(n2 => Convert.ToDecimal(n2["OUTBOUNDLICENSE"])),
INBOUNDLICENSE = m.Sum(n3 => Convert.ToDecimal(n3["INBOUNDLICENSE"]))
};
//使用得到的结果
if (q1.ToList().Count > 0)
{
q1.ToList().ForEach(q =>
{
a= q.areaName;
b= q.OUTBOUNDLICENSE;
c= q.INBOUNDLICENSE;
d= q.AGENTLICENSE;
}
}
//转换成datatable,注意dtRtn要有同样的列:
if (q1.ToList().Count > 0)
{
q1.ToList().ForEach(q => dtRtn.Rows.Add(q.a, q.b, q.c, q.d));
}
本文介绍了一个使用LINQ进行数据分组与汇总统计的示例,展示了如何从数据表中筛选、排序并按特定字段进行分组,同时计算各组的合计值。
1559

被折叠的 条评论
为什么被折叠?



