C# 从datatable中选择具有不同列值的行
我有一个具有重复ID的数据表C# 从datatable中选择具有不同列值的行,c#,datatable,C#,Datatable,我有一个具有重复ID的数据表 1 data moredata 4354 1 data moredata 4354 2 data moredaaata 4asdfdsa4 3 dasata edaaata 42342fdsa4 2 data moredaaata 4asdfdsa4 我想从该表中获得一个datatable,第一列值的每一行如下:(不需要按顺序排列) 如何执行此操作?您可以使用LINQ查询数据表。在ID字段中使用分组依据,然后从结果集中选择First。类似于 var qu
1 data moredata 4354
1 data moredata 4354
2 data moredaaata 4asdfdsa4
3 dasata edaaata 42342fdsa4
2 data moredaaata 4asdfdsa4
我想从该表中获得一个datatable,第一列值的每一行如下:(不需要按顺序排列)
如何执行此操作?您可以使用LINQ查询数据表。在
ID
字段中使用分组依据,然后从结果集中选择First
。类似于
var query = from t in dt.AsEnumerable()
group t by t.Field<int>("ID") into g
select g.First();
var query=从dt.AsEnumerable()中的t开始
按t字段(“ID”)将t分组为g
选择g.First();
您可以使用LINQ查询数据表。在ID
字段中使用分组依据,然后从结果集中选择First
。类似于
var query = from t in dt.AsEnumerable()
group t by t.Field<int>("ID") into g
select g.First();
var query=从dt.AsEnumerable()中的t开始
按t字段(“ID”)将t分组为g
选择g.First();
选择不同的第1列,第2列
来自表1
其中……选择不同的第1列,第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());
来自表1
其中;
List<string> tableColumns = new List<string>();
foreach (DataColumn column in currentTable.Columns)
tableColumns.Add(column.ColumnName);
DataTable result = currentTable.DefaultView.ToTable(true, tableColumns.ToArray());
foreach(currentTable.Columns中的DataColumn列)
tableColumns.Add(column.ColumnName);
DataTable结果=currentTable.DefaultView.ToTable(true,tableColumns.ToArray());
List tableColumns=new List();
foreach(currentTable.Columns中的DataColumn列)
tableColumns.Add(column.ColumnName);
DataTable结果=currentTable.DefaultView.ToTable(true,tableColumns.ToArray());
您是否可以控制返回数据的查询?我认为对您使用的任何查询选择DISTINCT
会更有意义。@CSharpDev,DISTINCT将对所有列起作用,对于示例数据,它将起作用,但在1 data moredata 5555
上可能失败,在这种情况下,它将返回两行ID为的数据1@LittleBobbyTables它不是来自SQL的,我不能控制我得到的结果。你能控制返回数据的查询吗?我认为对您使用的任何查询选择DISTINCT
会更有意义。@CSharpDev,DISTINCT将对所有列起作用,对于示例数据,它将起作用,但在1 data moredata 5555
上可能失败,在这种情况下,它将返回两行ID为的数据1@LittleBobbyTables它不是来自SQL的,我无法控制我得到的结果。我们需要答案上的LINQFTW标签。我们需要答案上的LINQFTW标签。我认为这更可能是他在寻找的。很好地使用了泛型组合,这应该允许任何用户根据需要指定数组。我认为这更可能是他正在寻找的。良好使用泛型组合,允许任何用户根据需要指定数组。