datatable使用groupby进行分组统计
2012-02-20 21:47
447 查看
今天有同事问,如何在datatable中进行分组,并且计算分组后每组的数量,想了一下,可以使用LINQ来实现datatable分组。代码如下
效果
区域 库房 数量
北京---北京仓库---1
北京---上海仓库---1
上海---上海仓库---2
效果
区域 库房 数量
北京---北京仓库---1
北京---上海仓库---1
上海---上海仓库---2
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进行分组统计
- DataTable、List使用groupby进行分组和分组统计;List、DataTable查询筛选方法
- datatable使用groupby进行分组统计
- C# datatable使用groupby进行分组统计
- elasticsearch聚合操作——本质就是针对搜索后的结果使用桶bucket(允许嵌套)进行group by,统计下分组结果,包括min/max/avg
- java使用mongo数据库,怎么根据两列进行分组统计并分页
- sails-mysql 使用 groupBy 进行分组遇到的坑
- sails-mongo 使用 groupBy 进行分组遇到的坑
- spark 按照key 分组 然后统计每个key对应的最大、最小、平均值思路——使用groupby,或者reduceby
- pandas中Groupby使用(二)-对分组进行迭代
- 使用DataTable进行统计与分析
- 使用R进行分组统计
- python中Groupby使用(四)-通过函数进行分组
- 如何对DataTable进行动态分组和动态统计[C#]
- php7中使用mongoDB的聚合操作对数据进行分组求和统计操作
- mongodb中使用mapreduce进行分组统计
- 使用DataTable进行统计与分析
- 使用DataTable进行统计与分析(.net)
- LINQ实现多次调用GroupBy进行分组统计
- Excel 中使用SQL 语句查询数据(八)-----用Group by 进行分组统计