MSSQL使用简单方法删除重复行(mssql 删除重复行)

关系数据库的使用非常广泛,由于录入错误,冗余数据和其他原因很容易导致表格中存在重复行,删除这些重复行对组织行很重要。本文根据MSSQL使用简单的方法删除重复行,包括利用SELECT DISTINCT语句、利用GROUP BY语句、利用SELF JOIN语句、利用ID列重新排序 4种方法。

##### SELECT DISTINCT语句

使用SELECT DISTINCT语句即可完成简单的删除重复行的操作,它允许去除不同值之间的重复数据。

“`sql

SELECT DISTINCT col1, col2,col3

FROM tbl_name;

“`

##### GROUP BY语句

同样,使用GROUP BY语句可以完成重复行的删除,GROUP BY语句可以把结果集中的数据按某个字段来分组,最后再选取多余的重复行形成新的结果集。

“`sql

SELECT col1,col2

FROM tbl_name

GROUP BY col1,col2;

“`

##### SELF JOIN语句

也可以使用SELF JOIN,也就是自连接,来筛选两个或多个表中重复的JSON,将两个表连接起来,通过等值连接条件,不断排除重复行。

“`sql

SELECT a.col1,a.col2

FROM tbl_name1 a,tbl_name2 b

WHERE a.col1=b.col1;

“`

##### ID列重新排序

另一个方法是重新排序 ID 列,有时会遇到 ID 列中存在重复的数据,在这种情况下,可以对ID列1中的所有行进行重新排序,这样可以有效地把它们的重复行删除。

“`sql

SELECT ROW_NUMBER() OVER (ORDER BY id asc) AS ROW

,id,col1,col2

FROM tbl_name

WHERE ROW>=1;

“`

以上是用MSSQL删除重复行的4种简单方法,一般使用SELECT DISTINCT语句就可以尽可能的删除重复行。同时,根据情况选择上面的方法来删除重复行也是可以的。


数据运维技术 » MSSQL使用简单方法删除重复行(mssql 删除重复行)