利用DataView來過過濾DataTable達到SQL Query的Distinct效果

摘要:利用DataView來過過濾DataTable達到SQL Query的Distinct效果

最近遇到一個需求,拿到一個頗大的DataTable,在某個運算階段我只需要某些Column且不重複的資料,又無法從源頭下手在SQL Query給個Distinct,該如何作呢?

資料表(dtMember)如下

IDNameCityZipCode
01KennyLA12345
02PeterCA54321
03JohnNY13125
04JimmyNY13125

 

 

 

 

 

 該如何得到不重複的City列表呢?

string[] columnNames = new string[] { "City" };
DataTable dtCity = dtMembers.DefaultView.ToTable(true, columnNames);

簡單兩行程式碼就搞定。

這邊直接利用DataView.ToTable()方法啟用Distinct功能,並且把想要的Column名稱寫入字串陣列餵給它即可。最後得到的資料表dtCity會是這樣:

City
LA
CA
NY

 

這樣一來,這個類似的問題以後就可以簡單解決了。

參考來源:MSDNData Developer Center