根据生效日期获得当前价格

时间:2014-07-21 14:31:29

标签: sql-server

我正在尝试在SQL Server 2008中编写一个查询,它将查看项目定价表。每个商品编号和定价的生效日期有多个记录。

我需要查询向下扫描表中的每个项目编号,找到最近的日期并在结果中返回该定价值。

我在想我应该使用Max date和group by item number。

更好的方法建议?

1 个答案:

答案 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