SQL查询 - 获取最新的费率

时间:2016-02-01 08:34:01

标签: sql sql-server

我的表:

Date              Code        Rate
----              ----        ----
2015-01-01          1         100
2015-01-01          2         200
2015-01-01          3         300
2015-06-01          1         150

我如何获得最新的费率(按日期),例如:

Date              Code        Rate
----              ----        ----
2015-01-01          2         200
2015-01-01          3         300
2015-06-01          1         150

SQL查询?

3 个答案:

答案 0 :(得分:1)

WITH cte AS (
    SELECT 
        *,
        ROW_NUMBER() OVER (PARTITION BY Code ORDER BY Date DESC) rn
    FROM yourtable
)
SELECT 
        Date, 
        Code, 
        Rate
FROM cte 
WHERE rn=1

答案 1 :(得分:0)

您可以使用子查询来完成 试试这个:

SELECT * FROM (
    SELECT * FROM your_table ORDER BY date DESC LIMIT 5
) sub
ORDER BY date ASC

此代码从表中获取最后5行。

答案 2 :(得分:0)

试试这个:

选择日期,         码,         率 来自(             选择ROW_NUMBER()over(按日期desc的代码顺序分区)作为Id,日期,代码,速率             来自你的表格         ) X 其中Id = 1 按日期排序