select a.* from
table a,
(select curr,min(cudate) as cudate from table group by curr) b
where a.curr=b.curr and a.cudate=b.cudate
table a,
(select curr,min(cudate) as cudate from table group by curr) b
where a.curr=b.curr and a.cudate=b.cudate
(select curr,max(cudate) as cudate from table group by curr)b
where a.curr=b.curr and a.cudate=b.cudate
from table
where cudate in (select max(cudate) from table)
所以帮楼主测一下create table tb4
(cubase varchar (5),cudate varchar (10),curr varchar (3),cuprice decimal (12,10))
insert into tb4
select 'lme', '2004-09-01', 'jpy', 0.06 union
select 'lme', '2004-09-02', 'jpy', 0.1 union
select 'lme', '2004-09-01', 'usd', 0.002845 union
select 'lme', '2004-09-03', 'jpy', 0.05 union
select 'lme', '2004-09-01', 'rmb', 0.028256 union
select 'lme', '2004-09-02', 'usd', 0.003select a.* from tb4 a,
(select curr,max(cudate) as cudate from tb4 group by curr)b
where a.curr=b.curr and a.cudate=b.cudate
order by a.cudate desc
(select curr,max(cudate) as cudate from table group by curr)b
where a.curr=b.curr and a.cudate=b.cudate
(select curr,max(cudate) as cudate from table group by curr)b
where a.curr=b.curr and a.cudate=b.cudate
order by a.cudate desc
(select cudate=max(cudate),curr from table group by curr)b
where a.cudate=b.cudate and a.curr=b.curr