我的表:
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查询?
答案 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 按日期排序