Sql server 是否删除只有一列的重复数据?

Sql server 是否删除只有一列的重复数据?,sql-server,duplicate-removal,Sql Server,Duplicate Removal,我有一个名为create的表,其中只有一列名为name,类型为varchar(16) 现在我想删除所有重复的名称,只留下其中一个 例如: name1 name2 name3 name3 name3 name4 以后就是了 name1 name2 name3 name4 请给我一些建议 我四处寻找一个查询,但大多数可用查询都与索引有关。使用行号 WITH cte AS ( SELECT name, row_number() OVER ( PARTITION B

我有一个名为
create
的表,其中只有一列名为
name
,类型为
varchar(16)

现在我想删除所有重复的名称,只留下其中一个

例如:

 name1
 name2
 name3
 name3
 name3
 name4
以后就是了

 name1
 name2
 name3
 name4
请给我一些建议

我四处寻找一个查询,但大多数可用查询都与索引有关。

使用行号

 WITH    cte
 AS 
 ( SELECT name, row_number() OVER ( PARTITION BY name ORDER BY name ) AS row_num
    FROM     yourTable
 )
DELETE  FROM cte
WHERE   row_num > 1
使用行号

 WITH    cte
 AS 
 ( SELECT name, row_number() OVER ( PARTITION BY name ORDER BY name ) AS row_num
    FROM     yourTable
 )
DELETE  FROM cte
WHERE   row_num > 1

MySQL中的索引是数据库引擎有效地对数据进行分区和排序的一种方式,从而使查询更加高效。索引允许您做的一件事是指定数据的特定列或字段只包含唯一的条目。创建这样一个索引将禁止添加已经存储的数据


如果您已经有一个没有索引的列,我建议您清除重复项的一种方法是使用临时表。通过从原始表中选择所有唯一(不同)的名称来创建临时表。然后删除原始表中的所有内容,并将记录复制回来。在这一点上,考虑添加索引。MySQL中的索引

< P>索引是数据库引擎有效地分区和排序数据的一种方式,从而使查询更加高效。索引允许您做的一件事是指定数据的特定列或字段只包含唯一的条目。创建这样一个索引将禁止添加已经存储的数据


如果您已经有一个没有索引的列,我建议您清除重复项的一种方法是使用临时表。通过从原始表中选择所有唯一(不同)的名称来创建临时表。然后删除原始表中的所有内容,并将记录复制回来。在这一点上,考虑添加索引。

工作但删除所有重复的数据,而不是至少留下一个。但无论如何。这对我来说已经足够了:)我需要删除重复的数据,这样我才能将列转换为索引。这是您想要的。删除重复的行,只保留唯一的行!错误,第一段代码将删除所有行,包括原始行和重复行。已工作,但删除了所有重复数据,但不保留至少一个。但无论如何。这对我来说已经足够了:)我需要删除重复的数据,这样我才能将列转换为索引。这是您想要的。删除重复的行,只保留唯一的行!错误,第一段代码将删除所有行,包括原始行和重复行。您好,我已经为所有不同的数据创建了一个临时表。我应该使用什么查询将它们插入回?您好,我已经为所有不同的数据创建了一个临时表。我应该使用什么查询将它们重新插入?