어떻게 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 를 사용 하여 그룹 통 계 를 하 는 것 은 위의 코드 를 통 해 이 루어 진 것 입 니 다.여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Datatable의 Laravel 사용자 정의 내보내기 버튼이 기사에서는 데이터 테이블에서 laravel 사용자 정의 내보내기 버튼을 볼 수 있습니다. Datatable은 내장 버튼 기능을 제공하며 html5 버튼도 제공합니다. 따라서 요구 사항에 따라 테이블에 데이터 테이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.