对于同一Item,只保留InvDate最大的那行
一般删除方法
DELETE
FROM Inventory AS D
WHERE (
Item
,InvDate
) NOT IN (
SELECT Item
,InvDate
FROM Inventory I
WHERE D.Item = I.Item
ORDER BY InvDate DESC FETCH FIRST ROW ONLY
);
使用OLAP函数进行查询删除
DELETE
FROM (
SELECT row_number() OVER (
PARTITION BY Item ORDER BY InvDate DESC
) AS rn
FROM Inventory
)
WHERE rn > 1;