我有一个包含3列的表格,第一列是' name'。有些名字输入两次,有的是3次,有的则多一些。我想为每个名称只保留一个值并删除额外的行。 没有主键或id列。 表中有大约100万行。 想在SQL 14中使用一个查询(最好)删除。有人可以帮忙吗?
Name column2 column3
Suzy
Suzy
Suzy
John
John
George
George
George
George
想把它作为:
Name column2 column3
Suzy
John
George
非常感谢提前
答案 0 :(得分:2)
你可以使用row_number函数,试试这个,
WITH CTE
AS (
SELECT NAME
,column2
,column3
,RN = ROW_NUMBER() OVER (
PARTITION BY NAME ORDER BY NAME
)
FROM < YourTableName >
)
DELETE
FROM CTE
WHERE RN > 1