我有一个包含这些列的表格;
DATE
所以我想要做的是获得按日期列排序的每个ID的最后3个不同价格值。基本上每个身份最近3个不同的价格。
表中还有一个ID列。它是表格的主键。
答案 0 :(得分:0)
Select t.id , c.Price
from TableName t
CROSS APPLY (
SELECT TOP 3 Price
FROM TableName s
WHERE s.ID = t.ID
ORDER BY [DATE] DESC
) c (Price)
GROUP BY t.id , c.Price