sql怎么删除一模一样的2行数据。
select *from 表 where id=1600 得出了两行数据。但是怎么删除其中一条啊,这两行数据一模一样。 
问题补充:是别人设计的表,竟然没有设置唯一的KEY,所以怎么删啊这么麻烦啊?我本来想在SQLSERVER2005中直接开表删,好像也删不了的提示框,咋办.

解决方案 »

  1.   

    with a as(
    select row_number() over(order by id) rn,* from 表 where id=1600 )
    delete from a where rn=1
      

  2.   

    先获取Top 1 在删除不就删除一行了?
      

  3.   

    with a as(
    select row_number() over(order by id) rn,* from 表 where id=1600 )
    delete from a where rn>1
    这样好一点
      

  4.   

     set rowcount 1
    delete  from 表 where id=1600 
      

  5.   


    select * into # from 表 where id=1600
    delete from 表 where id=1600
    insert into 表 select distinct * from #