2012-07-30 83 views
1

我有一个具有重复ID的一个数据表。从数据表中具有独特的列中选择行值

1 data moredata 4354 
1 data moredata 4354 
2 data moredaaata 4asdfdsa4 
3 dasata edaaata 42342fdsa4 
2 data moredaaata 4asdfdsa4 

我想从该表中只排了每一个这样的第一列值的数据表:(并不需要是按顺序)

1 data moredata 4354 
2 data moredaaata 4asdfdsa4 
3 dasata edaaata 42342fdsa4 

我怎样才能做到这一点?

+4

选择不同 – CSharpDev 2012-07-30 19:37:03

+1

你有过一个返回数据的查询任何控制?我会认为,对于你使用的任何查询,“SELECT DISTINCT”会更有意义。 – LittleBobbyTables 2012-07-30 19:37:19

+1

@CSharpDev,鲜明的所有列会的工作,对样本数据,将工作,但它可能会失败'1数据MOREDATA 5555',在这种情况下,它会返回两列ID 1个 – Habib 2012-07-30 19:54:52

回答

4

您可以使用LINQ查询数据表。通过ID场使用组,从结果中选择First。喜欢的东西..

var query = from t in dt.AsEnumerable() 
      group t by t.Field<int>("ID") into g 
      select g.First(); 
+0

我们需要回答一个LINQFTW标签。 – 2012-07-30 19:48:21

0

SELECT DISTINCT列1,列2 FROM表1 WHERE ......

+0

我在C#的DataTable,而不是一个表中的SQL ... – Kyle 2012-07-30 23:24:43

2
List<string> tableColumns = new List<string>(); 
foreach (DataColumn column in currentTable.Columns) 
    tableColumns.Add(column.ColumnName); 
DataTable result = currentTable.DefaultView.ToTable(true, tableColumns.ToArray()); 
+0

我认为这更可能他在找什么。很好地使用通用组合,应该允许任何用户根据需要指定数组。 – Jon 2016-03-16 00:53:24

相关问题