我有这个小实体
class Order
{
public long Id;
public DateTime Date;
public long ProductId;
}
我想选择在按 .分组的订单Id
中具有的实体。对 ( , ) 不是唯一的,所以这个查询是错误的:MAX(Date)
ProductId
MAX(Date)
ProductId
select o.Id
from Order o
where o.Date =
(select max(o2.Date)
from Order o2
where o2.ProductId = o.ProductId);
你有什么想法?
基本上我想要的是从组中获取最新的订单,所以如果我假设更大Id
== 更新Order
这个:
select o
from Order o
where o.Id in
(select max(o2.Id)
from Order o2
group by o2.ProductId);
会为我工作。有没有更好的解决方案?