大众信息网

如何在datatable中使用groupby进行分组统计

答案:2  mip版
解决时间 2021-03-06 06:39
  • 提问者网友:爱情是不う可等
  • 2021-03-05 16:23
如何在datatable中使用groupby进行分组统计
最佳答案
  • 二级知识专家网友:追尋☆①秒方向
  • 2021-03-05 16:34
举个例子: select a.id,a.name from tablename a group by a.name
全部回答
  • 1楼网友:何必执着
  • 2021-03-05 17:47
1 一种方式是借用linq 2 自己写代码处理 a 分组排序 public static void groupbydt(ref datatable dt,string strcolumname,string strsortcolumnname) { if (dt == null && dt.rows.count == 0){} else { datatable dtresult = dt.clone(); datatable dtsortresult = dt.clone(); if(dt.rows.count == 1) { dtresult.importrow(dt.rows[0]); } else { dtsortresult = sortdt(dt, strsortcolumnname); for (int i = 0; i < dtsortresult.rows.count; i++) { for (int j = dtsortresult.rows.count-1; j >= 0; j--) { if(dtsortresult.rows.count > 0) { if (dtsortresult.rows[i][strcolumname] == dtsortresult.rows[j][strcolumname]) { string strprjid = dtsortresult.rows[j][strcolumname].tostring(); dtresult.importrow(dtsortresult.rows[j]); dtsortresult.rows.remove(dtsortresult.rows[j]); if (i != 0) { i--; } else { } if (j != dtsortresult.rows.count) { j++; } else if (j == 0) { j++; } } } } } dt.clear(); dt.merge(dtresult); } } } b count 汇总计算 public static datatable calculatesuminfo(datatable dt) { datatable dtresult = dt.copy(); object objsumdebit = dtresult.compute("sum(debit)", "true"); object objsumcredit = dtresult.compute("sum(credit)", "true"); decimal surplusfund = math.round((convert.todecimal(objsumdebit) - convert.todecimal(objsumcredit)), 2); datarow row = dtresult.newrow(); row["surplusfund"] = surplusfund; dtresult.rows.add(row); return dtresult; }
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上问答信息
推荐资讯