选择基于最近日期的值

时间:2014-02-14 10:55:14

标签: sql sql-server

我有一个每隔几个月更新一次的货币表。我试图仅根据日期提取最新数字。但是,我放在哪个过滤器或数据类型转换器似乎并不重要。我无法拿出我独特的名单。

我不确定如何复制表格格式。只有以下三列:

Date,
CCY,
Rate

该表格采用以下日期格式设计:

2014-01-06 12:07:38.000 GBP   1.65459525585175

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:2)

有这样的表:

CREATE TABLE [dbo].[ExRate](
    [Date] [datetime] NULL,
    [CCY] [char](3) NULL,
    [Rate] [decimal](12, 6) NULL
) ON [PRIMARY]

正确的代码是:

with cte1 as
(
Select Date, CCY, Rate, ROW_NUMBER() over (partition by CCY order by Date desc) rn1
from ExRate
)
select * from cte1 where rn1=1