select B,C,max(D)
from A
GROUP BY B,C

解决方案 »

  1.   

    select b,c,max(d) as d from 表a group by b,c
      

  2.   

    或者
    SELECT * 
    FROM A T
    WHERE NOT EXISTS(SELECT * FROM A WHERE B=T.B AND C=T.C AND D>T.D)
      

  3.   

    select a.B,a.C,b.D 
    from
    (select B,C from test group by B,C) a,
    (select B,C,D from test order by B,C,D desc) b
    where a.B=b.B and a.C=b.C
      

  4.   

    select b , c , max(D) d from A group by b , c
      

  5.   

    create table tb(B varchar(10), C varchar(10), D int)
    insert into tb values('a' , 'b' , 300) 
    insert into tb values('a' , 'b' , 200) 
    insert into tb values('b' , 'c' , 100) 
    insert into tb values('b' , 'c' , 200)
    goselect b , c , max(d) d from tb group by b , cdrop table tb /*
    b          c          d           
    ---------- ---------- ----------- 
    a          b          300
    b          c          200(所影响的行数为 2 行)
    */