본문 바로가기
.Net

C# DataTable에서 중복 제거한 결과 얻기(Select Distinct)

by Dokon Jang 2016. 8. 8.
반응형

데이타베이스에 쿼리를 수행하여 얻은 DataTable의 중복을 제거한 결과를 얻는 방법입니다.

쿼리에서는 Select Distinct Column1, Column2, ... From TableName과 동일 합니다.

아래의 코드를 참고하세요.

//DataTable 생성
DataTable table = new DataTable();

// 컬럼 생성
table.Columns.Add("YEAR", typeof(int));
table.Columns.Add("MONTH", typeof(int));
table.Columns.Add("WEIGHT", typeof(int));

// 데이터 생성
table.Rows.Add(new object[] { 2016, 1, 10 });
table.Rows.Add(new object[] { 2016, 2, 8 });
table.Rows.Add(new object[] { 2016, 3, 18 });
table.Rows.Add(new object[] { 2016, 4, 8 });
table.Rows.Add(new object[] { 2016, 5, 18 });
table.Rows.Add(new object[] { 2016, 6, 20 });
table.Rows.Add(new object[] { 2016, 7, 8 });
table.Rows.Add(new object[] { 2016, 8, 8 });
table.Rows.Add(new object[] { 2016, 9, 20 });
table.Rows.Add(new object[] { 2016, 10, 8 });
table.Rows.Add(new object[] { 2016, 11, 23 });
table.Rows.Add(new object[] { 2016, 12, 33 });

// DataView 인스턴스 얻기
DataView view = table.DefaultView;

// 중복을 제외한 결과를 얻을 수 있다.
// (쿼리문의 SELECT DISTINCT와 동일)
DataTable distinctTable = view.ToTable(true, new string[] { "YEAR", "WEIGHT"});

// 결과 보기
foreach (DataRow row in distinctTable.Rows)
{
    int year = (int)row["YEAR"];
    int weight = (int)row["WEIGHT"];

    System.Console.WriteLine("YEAR : " + year + ", WEIGHT : " + weight);
}
 

 

실행 결과

 

반응형

'.Net' 카테고리의 다른 글

IIS 7 MIME Type 추가하기  (0) 2016.10.25
C# UI Control에 Tooltip 지정하기.  (0) 2016.09.13
C# InputBox  (0) 2016.06.07
C# 텍스트 파일 복사 코드  (0) 2016.05.31
C# 개행문자 Replace하기  (1) 2016.05.31

댓글