sql - 不使用临时表从表中删除重复项

标签 sql sql-server tsql

我有一个表(TableA),其内容如下:

Col1
-----
 A
 B
 B
 B
 C 
 C
 D

我想使用Microsoft SQL Server中的临时表来删除重复值。谁能帮我? 最终表格应如下所示:

Col1
-----
 A
 B
 C 
 D

谢谢:)

最佳答案

WITH TableWithKey AS (
SELECT ROW_NUMBER() OVER (ORDER BY Col1) As id, Col1 As val
FROM TableA
)
DELETE FROM TableWithKey WHERE id NOT IN
(
SELECT MIN(id) FROM TableWithKey
GROUP BY val
)

关于sql - 不使用临时表从表中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2796755/

相关文章:

sql - 如何根据 SQL Server 中的下一条记录字段进行排序?

sql-server - SQL-Server 中双等于的等价物?

sql-server - 为什么 DATEADD 会减慢 SQL 查询速度?

mysql - SQL 跨行检查

sql - 自动计算非标准自增

sql - 使用 false "where"条件的查询如何返回结果?

sql - 在 GROUP BY 中使用自定义聚合函数?

sql - 从日期时间获取时间间隔

php - 如何为另一列中具有相同值的每个结果将时间戳值加一

sql - 如何获取postgresql文本中的最后一个元素?