首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL删除具有多个相同列的重复值

SQL删除具有多个相同列的重复值
EN

Stack Overflow用户
提问于 2019-11-28 21:36:53
回答 1查看 24关注 0票数 1

我有一个名为report_start的表,它没有id列。它有两列,分别称为report_id和start_id。如果只有report_id和start_İd的值与表中的其他数据匹配,则会出现重复的值。

代码语言:javascript
复制
report_id-start_id
3-5
2-5
1-4
3-5

在上面例子中,只有3-5个是重复的。我想从数据中删除一行。它的SQL代码是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-28 21:42:37

如果只有这两列,那么在许多数据库中,您唯一的选择就是删除重复项,清空表,然后重新插入。这看起来像这样:

代码语言:javascript
复制
create temp_t as 
    select distinct t.*
    from t;

truncate table t;   -- backup first!

insert into t
    select *
    from temp_t;

请注意,创建临时表的语法取决于数据库,可能会有所不同。

一些数据库具有用于识别某种“行id”的机制。这将允许使用delete。但是,这高度依赖于数据库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59090134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档