有合同明细表,结构如下:
GoodsNO 商品编号
GoodsName 商品名称
Brand 品牌
Marque 商品型号
AgreementCode 合同编号
BegDate 合同生效日期
EndDate 合同失效日期
SignDate 签约日期
Signer 签合同人
LastUpdate 最后更改时间

我想实现读出合同单号列表,每个合同对应多条商品信息,我想实现只不重复的读出合同号,并且按最后更改时间排序
发现这样写 SELECT DISTINCT AgreementCode FROM Mall_StoreGoods Order by LastUpdate desc会
出错,请帮我看一下要怎么写这个SQL才好

解决方案 »

  1.   

    SELECT   DISTINCT   AgreementCode   FROM   Mall_StoreGoods   Order   by   LastUpdate desc
    ------
    语法上没有错呀,
      

  2.   

    select AgreementCode ,LastUpdate=max(LastUpdate) from Mall_StoreGoods group by AgreementCode order by max(LastUpdate) desc
      

  3.   

    select a.* from tb a where 最后更改时间 = (select max(最后更改时间) from tb where 合同编号 = a.合同编号) order by a.最后更改时间 desc
      

  4.   

    select *
    from Mall_StoreGoods a
    where not exists(select 1 from Mall_StoreGoods where AgreementCode = a.AgreementCode and LastUpdate > a.LastUpdate)
      

  5.   

    select a.* from tb a where LastUpdate = (select max(LastUpdate) from tb where AgreementCode = a.AgreementCode) order by a.LastUpdate desc