【发布时间】:2018-10-05 18:36:25
【问题描述】:
我有一个数据表,其中可能存在几乎相同的行,除了一列“FileID”中的值。可能不同的列包含 Int32 数据,当行重复时,我想只保留该列的最大值的行。如果行不重复,我想保留单行。
var Test = dt.AsEnumerable()
.GroupBy(r => new
{
Tool = r.Field<string>("Tool"),
Plate = r.Field<string>("Plate"),
Lot = r.Field<string>("Lot"),
Time1 = r.Field<DateTime>("Time1"),
Tool2 = r.Field<string>("Tool2"),
Time2 = r.Field<DateTime>("Time2"),
Recipe = r.Field<string>("Recipe"),
Row = r.Field<Int16>("Row")
}).OrderBy(t => t.Max(r => r.Field<Int32>("FileID")));
这似乎正确地过滤了行,但我丢失了 FileID 列。我想将此查询的结果放回具有最大 FileID 的数据表中,以便可以在我的表单的 datagridview 中使用它。这怎么可能?
【问题讨论】:
-
添加选择子句?
-
Link 也许你在找什么。
-
将
FileID添加到选择列列表中。