sql server一条语句删除表中重复记录

发布时间:2020-10-09编辑:脚本学堂
本文介绍下,sql server中用一条语句删除表中重复记录的方法,有需要的朋友参考下。

假设,test_news表中有三个字段:
id唯一且为主键,自动增长;
PositionName,EnglishPositionName中有重复的记录。

例如:
 

复制代码 代码示例:
id      PositionName  EnglishPositionName
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)

说明:
(1)将用于判断重复的字段放在group by语句之后。
(2)max(tt1.id) 也可以改成:min(tt1.id)。