select * from 表 t
where not exists(select 1 from 表 where bianma=t.bianma and [date]>t.[date])

解决方案 »

  1.   

    纠正以下:
    select * from 表 t
    where not exists(select 1 from 表 where bianma=t.bianma and convert(datetime,[date])>convert(datetime,t.[date]))
      

  2.   

    declare @tb table
    (
      bianma int,
      [date] varchar(10),
      [shuliang] int
    )
    insert @tb
    select 1,'2004-12-1',13 union
    select 1,'2004-9-11',14 union
    select 3,'2005-4-12',34--测试
    select * from @tb t
    where not exists(select 1 from @tb where bianma=t.bianma and convert(datetime,[date])>convert(datetime,t.[date]))--结果 
    /*
    bianma      date       shuliang    
    ----------- ---------- ----------- 
    1           2004-12-1  13
    3           2005-4-12  34(2 row(s) affected)
    */
      

  3.   


    如果bianma+date是候选码的话可以用下面的语句:select a.* 
    from t1 a,(select bianma,max(date) as maxdate from t1 group by bianma) b
    where a.bianma=b.bianma and a.date=b.maxdate
      

  4.   

    select distinct(bianma),max(date) from tablename
    group by bianma
      

  5.   

    select bianma, date, Max(shuliang)
    from tablename
    where date in(select bianma, max(date) as date 
                   from tablename as t
                 where t.bianma = tablename.bianma 
                  group by bianma)
    group by bianma, date
      

  6.   

    select * from 表 t 
    where date = (select Max(date ) 
    from 表 
    where bianma=t.bianma  )