当前位置: 数据库>sqlserver
sql server一条语句删除表中重复记录
来源: 互联网 发布时间:2014-08-29
本文导语: 假设,test_news表中有三个字段: id唯一且为主键,自动增长; PositionName,EnglishPositionName中有重复的记录。 例如: 代码示例: id PositionName EnglishPositionName 20 其他 Others 21 质量工程师 QC ...
假设,test_news表中有三个字段:
id唯一且为主键,自动增长;
PositionName,EnglishPositionName中有重复的记录。
例如:
代码示例:
id PositionName EnglishPositionName
20 其他 Others
21 质量工程师 QC Engineer
22 其他 Others
.......
100 质量工程师 QC Engineer
20 其他 Others
21 质量工程师 QC Engineer
22 其他 Others
.......
100 质量工程师 QC Engineer
要求去除重复的"其他","质量工程师"等数据。
一条SQL语句删除重复记录:
代码示例:
Delete from test_news where id not in (
select max(tt1.id) from test_news tt1 group by
tt1.PositionName,tt1.EnglishPositionName)
select max(tt1.id) from test_news tt1 group by
tt1.PositionName,tt1.EnglishPositionName)
说明:
(1)将用于判断重复的字段放在group by语句之后。
(2)max(tt1.id) 也可以改成:min(tt1.id)。