SQL中如何删除重复数据

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:09:55
例如:

A B C D
1 张 李 刘 王

2 李 金 张 金

3 张 刘 李 王

4 金 李 张 刘

把这种情况变成,重复的姓氏只留一个 其余的全部删怎么弄?

我是新手 ,麻烦 说彻底详细些 试了很多方法都无效
语句也不会用,在哪输入也不知道。
请高人指点。

1.把重复记录放到临时表:
select A,B,C,D into temp1 from [表名]
group by A,B,C,D
having count(*)>1
2.将不重复的记录记入temp1表:
insert temp1
select A,B,C,D from [表名]
group by A,B,C,D
having count(*)=1
3.如果确定临时表里的记录没错,删了原始表,将
临时表里的数据insert到原始表
insert [表名] select * from temp1

补充一下,第二步做完,你的数据库里有一个temp1表,这个表其实就是你想要的表,你可以把原始表彻底删了,把这个表名字改下也行

听不明白你的意思哎
不知道你到底要怎么删除
得到怎样的结果

你的问题没有描述清楚啊。

你这一张表吗?
ABCD是列名?1234是行数?
那你要删怎么重复的?

这样子不能删除一条记录,要么就将整个表的数据全部删除。