我正在尝试在SQL Server 2008中编写一个查询,它将查看项目定价表。每个商品编号和定价的生效日期有多个记录。
我需要查询向下扫描表中的每个项目编号,找到最近的日期并在结果中返回该定价值。
我在想我应该使用Max date和group by item number。
更好的方法建议?
答案 0 :(得分:0)
您可以使用row_number()
select *
from
(
select
itemnumber,
price,
row_number() over (partition by itemnumber order by dateeffective desc) rn
from prices
) effectiveprices
where rn = 1