0

在 MS Access 2003 SP3 中工作:我有一个查询,我正在运行以查找在交货日期之后售出的“汽车”。我有数千行。当一切都说完了,我只想为每辆“汽车”保留几行,然后是最旧的日期。有什么建议么?

CAR          DATE ORDERED   DATE DELIVERED  CUSTOMER NUMBER DATE SOLD
FORD MUSTANG    20061002             20080413            ABC123          20080422
FORD MUSTANG    20061002             20080413            ABC124          20080429
CHEVY IMPALA    20061002             20080413            ABC125          20080505
4

1 回答 1

0

如果您有一个 ID 字段,这可能会更好:

DELETE 
FROM Cars
WHERE Cars.DATESOLD Not In (
             SELECT TOP 5 DateSold 
             FROM Cars c 
             WHERE c.Car=Cars.Car 
             ORDER BY DateSold DESC) 
And Cars.DATESOLD Not In (
             SELECT TOP 1 DateSold 
             FROM Cars c 
             WHERE c.Car=Cars.Car 
             ORDER BY DateSold)

如果有重复的日期,您最终会得到超过 5 条记录。

于 2010-07-22T20:35:25.750 回答