student表有两个字段:(id,name) primary key(id,name)。删除id重复的记录只保留一条记录。

如:1,a;
1,b;
删除其中一条记录。

首先你的提出错了,id是主键是不会重复的,但我明白你的意思,你想实现删除某一个子段重复的数据,只留一条,你可以这样,删除name字段重复的,反正不关是哪个字段你只要将我给你的sql语句中的id这个字段改成你要通过某个字段删除的字段名称就可以了,不过max里面的那个id最好是主建id,至于max也可以换成min,随你写哪个都可以
delete from dbo.student where id not in (select max(id) from student group by id)

如果可以加点分,开玩笑,加不加分随你,如果你感觉好就加点,呵呵,这个是我收藏的经典sql语句之中排名第6的,如果有问题可以找我
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-03
你能存这样的2条记录 算你写的程序nb啊 呵呵
第2个回答  2010-12-03
这条记录能在数据库里存在么!id做为主键怎么会重复啊!
第3个回答  2010-12-03
delete from student where id=1 and name=‘b'本回答被网友采纳
第4个回答  2012-03-16
delete from (select id,row_number()over(partiton by id) as tid from student) where tid>1

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网