开发者社区> 问答> 正文

删除SQL表中的重复条目?

我做了研究,但是答案太复杂了,无法转换为我的模式和解决方案。

我有一个表,我忘记在其中创建一个唯一的字段,现在插入在相同的字段值下创建了很多项目。我的表名是queue_items,该字段称为item-如何删除该字段的重复项item?

我仍然希望保留重复项中的1个,如果可以的话,但只需删除1个以上即可。

这是我到目前为止所得到的

WITH CTE AS( SELECT item RN = ROW_NUMBER()OVER(PARTITION BY item ORDER BY item) FROM queue_items ) DELETE FROM CTE WHERE RN > 1

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 14:01:13 483 0
1 条回答
写回答
取消 提交回答
  • 如果您有一个主键,例如,id您可以尝试以下操作:

    DELETE FROM queue_items WHERE id NOT IN ( SELECT MIN(id) FROM queue_items GROUP BY item );

    2019-11-18 14:02:16
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载