当前位置: 代码迷 >> Sql Server >> 一条SQL语句,不知道该如何写
  详细解决方案

一条SQL语句,不知道该如何写

热度:54   发布时间:2016-04-24 10:10:12.0
一条SQL语句,不知道该怎么写
比如一个表里有3个字段:产品编号,价格,日期。
价格会因为日期的不同而不同。
要求出每个产品最后一次价格,该怎么写。
------解决方案--------------------
select * from tb a
where exists (select 1 from (select 产品编号,max(日期)日期
from tb
group by  产品编号) b where a. 产品编号=b. 产品编号 and a.日期=b.日期)
------解决方案--------------------

with t as
(
  select 产品编号,价格,日期,row_number() over(partition by 产品编号,日期 order by 日期 desc) as [rank]
  from tb 
)
select 产品编号,价格,日期 from t where [rank] = 1
  相关解决方案