假定表名为table1
select a.* from table1 a inner join (select max(a) as maxofa,b,c from table1 group by b,c) b on a.a=b.maxofa and a.b=b.b and a.c=b.c

解决方案 »

  1.   

    我写的sql你运行了吗?应该跟你要的结果一样啊
      

  2.   

    删除找出来的:
    delete a from table1 a inner join (select max(a) as maxofa,b,c from table1 group by b,c) b on a.a=b.maxofa and a.b=b.b and a.c=b.c删除没找出来的:
    delete a from table1 a inner join (select max(a) as maxofa,b,c from table1 group by b,c) b on a.a<b.maxofa and a.b=b.b and a.c=b.c
      

  3.   

    删除没找出来的:
    delete a from table1 a inner join (select max(a) as maxofa,b,c from table1 group by b,c) b on a.a<b.maxofa and a.b=b.b and a.c=b.c
    这句对不上。。
      

  4.   

    没什么问题啊,我在SQL Server 2000测试通过。删除了2行,还剩下4行阿
    你试试看create table table1 (a int,b int,c int,d int,e int,f int)
    insert into table1 (a,b,c,d,e,f) values (1,2,3,4,5,6)
    insert into table1 (a,b,c,d,e,f) values (3,2,3,8,9,6)
    insert into table1 (a,b,c,d,e,f) values (6,8,8,9,6,2)
    insert into table1 (a,b,c,d,e,f) values (2,3,1,3,5,2)
    insert into table1 (a,b,c,d,e,f) values (2,3,2,3,5,1)
    insert into table1 (a,b,c,d,e,f) values (3,3,2,6,4,2)delete a from table1 a inner join (select max(a) as maxofa,b,c from table1 group by b,c) b on a.a<b.maxofa and a.b=b.b and a.c=b.cselect * from table1drop table table1
      

  5.   

    我这不是SQL SERVER
    是ACCESS。。不过还