어떻게 datatable 에서 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
"); }
 datatable 에서 groupby 를 사용 하여 그룹 통 계 를 하 는 것 은 위의 코드 를 통 해 이 루어 진 것 입 니 다.여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기