有表:cust
字段loyalty有0,1,...,7等值,
loyalty=1的有17条记录,想删除其中13条的loyalty=1的相应记录,其他保留,如何做?

解决方案 »

  1.   

    --这样试一下
    Set RowCount 13
    Delete Cust
    Where Loyalty=1
    Set RowCount 0
      

  2.   

    2楼的写法可以.delete from tb where id in (select top 13 id from tb where loyalty=1 order by newid())
    如果你的表有标识列,我假设它名为id
      

  3.   

    好象不行耶,因为总的还有好多记录,不止这17条,而且他们不是按照Loyalty字段排序的,是不是应该按Loyalty字段排好序 ,然后再做?
      

  4.   

    --沒關係的吧.樓上有人寫過了
    --如要刪除loyalty=1的其中隨便13條紀錄set rowcount 13
    delete cust where loyalty=1
    set rowcount 0