select a.* from tb a
where purchaseDate=(select max(purchaseDate) from tb where provider=a.provider and product=a.product)
group by provider,product

解决方案 »

  1.   

    declare @a table(provider varchar(10),product varchar(20),price decimal(5,1), purchaseDate varchar(10))
    insert @a
    select  '一公司',  '泡泡糖',   1.2,   '04-7-2' union all
    select  '一公司',   '泡泡糖',   1.5,   '04-6-29' union all
    select  '二公司',   '泡泡糖 ',  1.3,   '04-6-20' union all
    select  '一公司',   '娃哈哈' ,  2.1 ,  '04-6-15'select a.* from @a a
    where purchaseDate=(select max(purchaseDate) from @a where provider=a.provider and product=a.product)
    结果:一公司  娃哈哈 2.1 04-6-15
    一公司  泡泡糖 1.2 04-7-2
    二公司  泡泡糖  1.3 04-6-20