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

解决方案 »

  1.   

    最靠近今天應該是最大的select a.* from table a,
    (select curr,max(cudate) as cudate from table group by curr)b
    where a.curr=b.curr and a.cudate=b.cudate
      

  2.   

    select * 
    from table
    where cudate in (select max(cudate) from table)
      

  3.   

    我写错了
    所以帮楼主测一下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
      

  4.   

    select a.* from table a,
    (select curr,max(cudate) as cudate from table group by curr)b
    where a.curr=b.curr and a.cudate=b.cudate
      

  5.   

    select a.* from table a,
    (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
      

  6.   

    select a.* from table a
    (select cudate=max(cudate),curr from table group by curr)b
    where a.cudate=b.cudate and a.curr=b.curr