首页 > 编程 > C# > 正文

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

2020-01-24 01:33:21
字体:
来源:转载
供稿:网友

本文介绍了在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进行分组统计就是通过上面的代码进行实现的,希望可以对大家的学习有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表