数据:
id   name  side_hole    _Style
01    aa     a              a
01    aa     a              b
02    bb     c              d
02    bb     e              f我现在想,只要id相同的就只保留一条,另外一条删除,结果为:
id   name  side_hole    _Style
01    aa     a              a
02    bb     c              d请问怎么做,谢谢!

解决方案 »

  1.   

    'select distinct id ,name, side_hole,_style from table'
    不知道怎么样?可以试试!
      

  2.   

    alter table t add column sysid int(identity,1,1)--增加自增id,当然如果原来有就不用加了delete t where sysid in (select max(sysid) from t group by id having count(*)>1)
    --连续执行几次即可,一次删一条
      

  3.   

    to windindance(风舞轻扬) 
    这样你不能保留,只是把id大于1的全部删除拉!
      

  4.   

    delete  table1 from (select distinic id  from table1 ) as t1
      

  5.   

    SORRY,刚才答错了:(
    select id ,max(name), max(side_hole),max(_style)
    INTO table2
    FROM table1
    group by id 这个我试过了,你可以把选出来的信息,形成新的信息,存在新的表中。
    即后就可以更名
      

  6.   

    delete t where sysid in (select max(sysid) from t group by id having count(*)>1)
    为什么不能保留?select max(sysid) from t group by id having count(*)>1
    --取得id重复的记录中最大的一个SYSID
    如果id不重复,则不会取出来。
      

  7.   

    DELETE FROM tablename
    WHERE (not (keyid IN
              (SELECT MIN(keyid) FROM tablename
             GROUP BY id)))
    执行通过