假定数据库中有一张邮费表,该表有邮费ID、送达地区、重量区间段、邮费、生效日期等5个字段,其中邮费ID为主键,送达地区、重量区间段和生效日期为唯一键。请问如何使用一条SQL语句取出每个送达地区和重量区间段组合的最新邮费?例如该表有如下数据:邮费ID/送达地区/重量区间段/邮费/生效日期
1/上海/20/1.0/20110101
2/北京/20/1.0/20110101
3/上海/20/1.2/20110501那么应该结果集中应该有如下记录:邮费ID/送达地区/重量区间段/邮费/生效日期
2/北京/20/1.0/20110101
3/上海/20/1.2/20110501
1/上海/20/1.0/20110101
2/北京/20/1.0/20110101
3/上海/20/1.2/20110501那么应该结果集中应该有如下记录:邮费ID/送达地区/重量区间段/邮费/生效日期
2/北京/20/1.0/20110101
3/上海/20/1.2/20110501
where not exists(select 1 from 邮费表
where 送达地区=a.送达地区 and 重量区间段=a.重量区间段 and 生效日期>a.生效日期)
where not exists(select * from tb where 送达地区=t.送达地区 and 生效日期>t.生效日期)
where 生效日期=(select max(生效日期) from 邮费表 where ID=A.ID)
where not exists
(select `1 from tb as a where a.送达地区=tb.送达地区 and a.生效日期>tb.生效日期)
select * from 邮费表 a
inner join (select 送达地区, 重量区间段, max(生效日期) as 生效日期
from 邮费表
group by 送达地区, 重量区间段) b
on a.送达地区=b.送达地区 and a.重量区间段=b.重量区间段 and a.生效日期=b.生效日期
</sql>
where not exists(select * from tb where 送达地区=t.送达地区 and 生效日期>t.生效日期)