我有一张带有日期/时间的表格,我想找到具有最短日期的整行。看这个例子:
ID First Last ADateTime Processed
1 Joe Smith 09/06/2013 04:00 AM True
1 Joe Smith 09/06/2013 02:00 AM False
2 Jack Jones
3 John Jack 09/05/2013 06:00 AM True
3 John Jack 09/26/2013 02:00 AM False
我想从查询中得到以下信息:
ID First Last ADateTime Processed
1 Joe Smith 09/06/2013 02:00 AM False
2 Jack Jones
3 John Jack 09/05/2013 06:00 AM True
我有一个接近的 LINQ 语句:
var uniqueGuys = from d in tests.AsEnumerable()
group d by d.ID into g
let f = g.FirstOrDefault()
where f != null
select new
{
f.ID,
f.First,
f.Last,
ADateTime = g.Min(c => c.DateTime),
f.Processed
};
这给了我正确的最短日期的 3 个 ID,但其余信息不正确。例如,对于 ID 1,我得到 Joe Smith 的日期为 201 年 9 月 6 日凌晨 2:00,这是正确的,但它显示已处理为 True,而不是附加到该行的 false。看起来它只是抓住了最小日期/时间,然后是它可以为其他东西找到的第一条记录。有没有办法用最小的 ADateTime 获得一整行?