我有以下准则查询,用于发现任何类似货物:
from c in cons
group c by new { c.TripDate.Value, c.DeliveryPostcode, c.DeliveryName } into cg
let min = cg.Min(a => a.DeliverFrom)
let max = cg.Max(a => a.DeliverFrom)
let span = max - min
where span.TotalMinutes <= 59
select cg;
The main thing is the min, max and span. Basically, any consignments that are in the group , that have a DeliverFrom datetime within 59 minutes of any other one in the group, will be returned in the group.
上述法典最初对我很好,但经过进一步检查,如果小组的记录超过2份,“一体行动,履行使命”各有59分钟,“履行使命”日期在59分钟之内有5分钟,那么问询不会再回这个群体,因为要选择min子和max子,看不到59分钟。 我要看到的是,“交货日期”小组中有2批货物已接近尾声,而只是选择一个含有两批货物的集团。
我怎么做呢?
EDIT: Doh, 增加了另一个条款。 有一个称为“光”和“空间”的田地,每一组空间最多可达到26秒和26天。