create table test
(
id int primary key,
username varchar(20),
pwd varchar(20)
)
insert into test values(1,'a','b')
insert into test values(2,'a','c')
insert into test values(3,'a','d')
delete test from test t where  exists (select 1 from test where T.id<id and T.username=username)

解决方案 »

  1.   

    哦!错了!只删除一行啊!delete test from test t where not exists (select 1 from test where T.id<id and T.username=username)
      

  2.   

    你的username本来就只有一个值当然会全部删除了,
    根据你的要求,你应该用ID或是PWD
      

  3.   

    delete from test where id in (select top 1 id from test where username='a')
      

  4.   

    顺便问一下,T.id<id 是什么意思呀
      

  5.   

    set rowcount 1
    --delete here
    set rowcount 0 set rowcount N
    可以设置每次影响的行数只为N行
    如果N=0,表示恢复正常。---------------------------------------
    http://chinadba.cn
    最具实战经验的数据库优化,管理,设计,培训网
    访问大提速!