可能重复:
检索每个组中的最后一条记录
我有 2 表产品和成本
产品
ProdCode - PK
ProdName
成本
Effectivedate - PK
RetailCOst
Prodcode
我试过这个查询:
SELECT a.ProdCOde AS id, MAX(EffectiveDate) AS edate, RetailCOst AS retail
FROM cost a
INNER JOIN product b USING (ProdCode)
WHERE EffectiveDate <= '2009-10-01'
GROUP BY a.ProdCode;
嗯,它显示了正确的生效日期,但该特定生效日期的成本不匹配。
所以我想选择与每件物品匹配成本的最新日期。
例如,我选择的日期是“2009-12-25”,1 项的记录是:
ProdCode |EffectiveDate| Cost
00010000 | 2009-01-05 | 50
00010000 | 2009-05-25 | 48
00010000 | 2010-07-01 | 40
所以结果我应该得到00010000|2009-05-25|48
,因为它小于我查询的日期,并且它是该项目的最新日期。然后我想在我的查询中显示每种产品的最新成本。
希望早日收到你的消息!谢谢!