Oracle11g 获取最新更新日期&;它';s相关信息
我有这个疑问。希望有人能帮忙 下表所示为Oracle11g 获取最新更新日期&;它';s相关信息,oracle11g,Oracle11g,我有这个疑问。希望有人能帮忙 下表所示为国家/地区费率 ID Country Date Rate ---------------------------------- 1. CANADA 03/02/2009 0.78 2. UK 12/07/2009 1.23 3. UK 03/02/2010 0.12 4. USA 05/11/2010 1.63 5. CA
国家/地区费率
ID Country Date Rate
----------------------------------
1. CANADA 03/02/2009 0.78
2. UK 12/07/2009 1.23
3. UK 03/02/2010 0.12
4. USA 05/11/2010 1.63
5. CANADA 03/02/2010 0.52
6. USA 05/02/2011 0.98
我想知道最新的日期和与it相关的价格
结果应该是这样的:
Country Date Rate
---------------------------
UK 03/02/2010 0.12
CANADA 03/02/2010 0.52
USA 05/02/2011 0.98
CREATE TABLE RATES
(
COUNTRY VARCHAR2(10),
DT DATE,
RATE NUMBER
)
所以我想要SQK来得到这个结果
ThanxMalikaa-
假设您的表的结构如下所示:
Country Date Rate
---------------------------
UK 03/02/2010 0.12
CANADA 03/02/2010 0.52
USA 05/02/2011 0.98
CREATE TABLE RATES
(
COUNTRY VARCHAR2(10),
DT DATE,
RATE NUMBER
)
然后您可以运行此命令以获得答案:
SELECT O.COUNTRY, O.RATE, O.DT
FROM RATES O JOIN
(
SELECT COUNTRY, MAX(DT) DT
FROM RATES
GROUP BY COUNTRY) I
ON O.COUNTRY = I.COUNTRY
AND O.DT = I.DT
希望这有帮助
-CJ这里有两种替代方法。第一个稍微整洁一点,第二个稍微快一点,这两个选项都附带了按您想要的顺序排列的额外列;) 或 您应该注意,当同一天某个国家的利率超过一个时,所有三个(这两个和CJ的代码)都将返回太多行,但适用于您提供的数据集