如何从SQL Server中的表中删除重复的行

meo*_*meo 6 database sql-server

我有一个叫table1有重复值的表.它看起来像这样:

new
pen
book
pen
like
book
book
pen
Run Code Online (Sandbox Code Playgroud)

但是我想从该表中删除重复的行并将它们插入到另一个名为的表中table2.

table2 应该是这样的:

new 
pen
book
like
Run Code Online (Sandbox Code Playgroud)

我怎么能在SQL Server中执行此操作?

Mik*_*oud 1

我们假设该字段被命名为name

INSERT INTO table2 (name)
SELECT name FROM table1 GROUP BY name
Run Code Online (Sandbox Code Playgroud)

该查询将为您提供所有唯一的名称。

如果需要,您甚至可以将它们放入表变量中:

DECLARE @Table2 TABLE (name VARCHAR(50))

INSERT INTO @Table2 (name)
SELECT name FROM table1 GROUP BY name
Run Code Online (Sandbox Code Playgroud)

或者你可以使用临时表:

CREATE TABLE #Table2 (name VARCHAR(50))

INSERT INTO @Table2 (name)
SELECT name FROM table1 GROUP BY name
Run Code Online (Sandbox Code Playgroud)