我有一个只有两列(Rate,Date)的表。现在费率每天都在变化。我没有存储时间,只存储日期。 我正在寻找一个可以显示每天最新条目的查询。
假设我的表有以下条目 -
records
+-------------------+--------------+
| Rate | Date |
+-------------------+--------------+
| 1 | 01/01/2015 |
| 4 | 01/01/2015 |
| 3 | 01/02/2015 |
| 2 | 01/02/2015 |
+-------------------+--------------+
输出应该是 -
+-------------------+--------------+
| Rate | Date |
+-------------------+--------------+
| 4 | 01/01/2015 |
| 2 | 01/02/2015 |
+-------------------+--------------+
如果我按日期使用Group,我会获得第1条记录。我总想要每天的最后一条记录。尝试编写子查询,但不起作用。
编辑 - 我明白没有钥匙几乎不可能找到它。但是,即使存储时间也是可能的。?
答案 0 :(得分:0)
我希望这会有所帮助
UPDATE
答案 1 :(得分:0)
甲骨文:
WITH data (rate, "date") AS (
SELECT 1, DATE'2015-01-01' FROM DUAL UNION ALL
SELECT 4, DATE'2015-01-01' FROM DUAL UNION ALL
SELECT 3, DATE'2015-02-01' FROM DUAL UNION ALL
SELECT 2, DATE'2015-02-01' FROM DUAL
)
SELECT
MAX(rate) KEEP (DENSE_RANK LAST ORDER BY ROWNUM) rate,
"date"
FROM
data
GROUP BY
"date"