如何在datatable中使用groupby进行分组统计
程序员文章站
2023-11-12 15:41:22
本文介绍了在datatable中使用groupby进行分组统计,下面是为大家分享的效果图和实现代码:
实现效果
在sql中我们可以使用groupby来进行分组统计,...
本文介绍了在datatable中使用groupby进行分组统计,下面是为大家分享的效果图和实现代码:
实现效果
在sql中我们可以使用groupby来进行分组统计,如果数据在datatable中该如何使用groupby呢,下面的方法可以实现groupby,代码如下:
datatable dt = new datatable("cart"); datacolumn dc1 = new datacolumn("areaid", type.gettype("system.string")); datacolumn dc2 = new datacolumn("house", type.gettype("system.string")); datacolumn dc3 = new datacolumn("seq", type.gettype("system.string")); datacolumn dc4 = new datacolumn("remark", type.gettype("system.string")); dt.columns.add(dc1); dt.columns.add(dc2); dt.columns.add(dc3); dt.columns.add(dc4); datarow dr = dt.newrow(); dr["areaid"] = "北京"; dr["house"] = "北京仓库"; dr["seq"] = "2"; dr["remark"] = "货到付款"; dt.rows.add(dr); datarow dr1 = dt.newrow(); dr1["areaid"] = "北京"; dr1["house"] = "上海仓库"; dr1["seq"] = "1"; dr1["remark"] = "货到付款"; dt.rows.add(dr1); datarow dr2 = dt.newrow(); dr2["areaid"] = "上海"; dr2["house"] = "上海仓库"; dr2["seq"] = "1"; dr2["remark"] = "货到付款"; dt.rows.add(dr2); datarow dr3 = dt.newrow(); dr3["areaid"] = "上海"; dr3["house"] = "北京仓库"; dr3["seq"] = "1"; dr3["remark"] = "货到付款"; dt.rows.add(dr3); var query = from t in dt.asenumerable() group t by new { t1 = t.field<string>("areaid"), t2 = t.field<string>("seq") } into m select new { areaid = m.key.t1, seq = m.key.t2, house = m.first().field<string>("house"), rowcount = m.count() }; console.writeline("区域 "+" 库房"+" 数量"); foreach (var item in query.tolist()) { if (item.rowcount>1) { messagebox.show(item.areaid+"---"+item.house); } console.writeline(item.areaid+"---"+item.house+"---"+item.rowcount); console.writeline("\r\n"); }
在datatable中使用groupby进行分组统计就是通过上面的代码进行实现的,希望可以对大家的学习有所帮助。