tablename:  z1z1数据:a1     a2     a3
1       2       a
1       2       a
2       3       b 
2       3       b
3       4       c希望删除完得a1     a2     a3
1       2       a
2       3       b
3       4       c

解决方案 »

  1.   

    尽量一句SQL语言,不要创建临时表
      

  2.   

    你的要求光靠这三个字段做不到,得有主键辅助
    delete from z1 where id not in
    (select min(id) as id from z1 group by a1,a2,a3)
      

  3.   

    select distinct a1,a2,a3 from z1;
      

  4.   

    没有主键  字段的,其实就是想要select * from z1 group by a1 AS  B   的效果,能不能参照这表B来删除
      

  5.   

    加个自增列做主键,删除后再把列移掉
    或者是创建个同样结构的表,select  结果放到新表,然后删除旧表,改新表为旧表名代替