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语句就可以尽可能的删除重复行。同时,根据情况选择上面的方法来删除重复行也是可以的。