Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取每个不同费率名称的最新费率_Sql_Db2 - Fatal编程技术网

Sql 获取每个不同费率名称的最新费率

Sql 获取每个不同费率名称的最新费率,sql,db2,Sql,Db2,如果我有如上所述的数据,我如何运行查询,以便将这些数据作为结果: RateName Rate EffectiveDate -------- ---- ------------- RateOne 400 2011-01-05 RateOne 410 2011-06-31 RateTwo 147 2010-09-21 RateThree 68 2011-07-14 RateTwo 100

如果我有如上所述的数据,我如何运行查询,以便将这些数据作为结果:

RateName     Rate    EffectiveDate
--------     ----    -------------
RateOne      400     2011-01-05
RateOne      410     2011-06-31
RateTwo      147     2010-09-21
RateThree    68      2011-07-14
RateTwo      100     2011-10-30
基本上,我只需要每个不同费率名称的最新费率。

您可以尝试以下方法:

RateName     Rate    EffectiveDate
--------     ----    -------------
RateOne      410     2011-06-31
RateThree    68      2011-07-14
RateTwo      100     2011-10-30       
SELECT A.*
FROM YourTable A
INNER JOIN (    SELECT RateName, MAX(EffectiveDate) AS MaxDate
                FROM YourTable
                GROUP BY RateName) B
ON A.RateName = B.RateName AND A.EffectiveDate = B.MaxDate