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