求一个sql语句,取历史表上最新的价格和所在的日期
求一条sql语句    
 有4个字段,名称,价格,   日期   ,单位      
 a   1.2   07-6-12   ,d 
 a   1.2   07-6-12   ,d 
 a   1.1   07-6-11,   a 
 b   3.5   07-6-10,   b   
 如何取到最新的价格和所在的日期和单位      ,如 
 a   1.2   07-6-12,d 
 b   3.5   07-6-10   ,b      
 请注意,相同的日期,相同的名称只要一条就够了 
 谢谢! 
------解决方案------------------------方法1: 
 select * from table as a where not exists(select 1 from table where 名称=a.名称 and 日期 >  a.日期)   
 ----方法2: 
 select * from table as a where 日期=(select max(日期) from table where 名称=a.名称)
------解决方案--------------------create table #aa( 名称 varchar(5),价格 varchar(5),日期 datetime,单位 varchar(5)) 
 insert into #aa 
 select  'a ',  '1.2 ',  '07-6-12 ' , 'd ' union all 
 select  'a ',  '1.2 ',  '07-6-12 ' , 'd ' union all 
 select  'a ',  '1.1 ',  '07-6-11 ' , 'a ' union all 
 select  'b ',  '3.1 ',  '07-6-10 ' , 'b '    
 select distinct * from  #aa a where  
 not exists(select 1 from  #aa b where a.名称=b.名称 and a.日期 <日期)   
 drop table #aa     
 (所影响的行数为 4 行)   
 名称    价格    日期                                                     单位     
 ----- ----- ------------------------------------------------------ -----  
 a     1.2   2007-06-12 00:00:00.000                                d 
 b     3.1   2007-06-10 00:00:00.000                                b   
 (所影响的行数为 2 行)
------解决方案--------------------select distinct * from 表 a  (select 名称,max(日期) as 日期 from 表 group by 名称) b 
 where a.名称=b.名称 and a.日期=b.日期