MSSQL中,当我们需要去除重复记录时,利用内置函数可以精准搞定任务。本文将分享几种去除重复记录的技巧。
#### 1.使用DISTINCT函数
DISTINCT函数用于从结果集中去除重复的行。语法如下:
SELECT DISTINCT 列名 FROM 表名;
例如:
SELECT DISTINCT empname FROM emp;
使用DISTINCT函数能够轻松去除重复记录,但如果在记录中不止只有一列被重复,当其他列也有重复时使用DISTINCT函数会出现错误。
#### 2.使用GROUP BY 子句
当不止一列被重复时,需要使用GROUP BY 子句来处理。GROUP BY 子句可以将表中的数据按某一列(或多个列)分组,从而去除重复记录。语法如下:
SELECT聚集函数(列名),列名 FROM 表名 GROUP BY 列名;
例如:
SELECT COUNT(empname), empname FROM emp GROUP BY empname;
上述语句可以实现以下去除重复的功能:将雇员的姓名固定,然后统计出每个姓名的雇员人数。
#### 3.使用UNION语句
UNION语句实现SQL查询的合并,当两个查询的结果有重复记录时,去除某一行的记录,用UNION ALL语句可以精准去除重复行记录。语法如下:
SELECT 列名 FROM 表名
UNION ALL
SELECT 列名 FROM 表名;
例如:
SELECT empname FROM emp
UNION ALL
SELECT empname FROM salary;
#### 总结
MSSQL提供了多种方法去除重复记录:使用DISTINCT函数,使用GROUP BY 子句和使用UNION语句。使用不同方法处理任务时,根据自身需要选择最合适的方法即可。