首页 > 解决方案 > 按另一列的最大值选择

问题描述

例如,我有一张价格变化的表格。

TABLE
(
ID INT,
ProductID INT,
ChangeDate DATE,
PriceOld MONEY,
PriceNew MONEY
)

我需要为每个产品选择实际价格,即选择 PriceNew 其中 ChangeDate 是每个产品的最大值

标签: sqltsql

解决方案


SELECT ProductID,PriceNew 
FROM
( 
     SELECT *, ROW_NUMBER() OVER(PARTITION BY ProductID ORDER BY ChangeDate DESC) RN FROM Table1
) X 
WHERE RN = 1

推荐阅读