问个SQL,我有一个表,有四个字段,其中有两个字段的值可能有重复,我现在要去重比如有 a1 a2 a3 a4我要比较a2 和a3的字段都相同的值,去重,留一条。
请问sql怎么写。

解决方案 »

  1.   

    假设ID唯一
    select * from tt a where not exists(select 1 from tt where a.a2=a2 and a.a3=a3 and a.id<id)
      

  2.   

    留一条的标准是 如果a2和a4相同,则这保留一条数据,a1 a4保留任意一条的值就可以。
      

  3.   


    多谢,当初建表的时候,并没有创建唯一值,比如ID,有没有单纯就是a2 a3比的语句呢?
      

  4.   

    select *
    from table1
    group by a2,a3