SQL如何查找数据库多栏位重复数据?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

SQL如何查找数据库多栏位重复数据?

2016-07-01 11:17:20 2288 1

首先,我有一个电影数据库,这是其中的一部分:
[rel] movie_id, star_id, time

一般是一个电影,对应多个演出明星。本来相同的movie_id 和 star_id 在数据库中只能出现一次。
可是之前系统设计漏洞,导致重复插入了多项数据:
譬如:
功夫, 周星驰
功夫, 黄圣依
功夫, 周星驰
等于是我们数据库中出现了两个 功夫, 周星驰。

请问各位朋友,有没有可以设计一个sql语句,帮我快速的查找出这些冗余的项和 电影的id。

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:49:50

    screenshot
    保留id最小的记录

    查询重复数据
    select * from TABLE_NAME where (movie_id,star_id) in (select movie_id,star_id from TABLE_NAME group by movie_id,star_id having count() > 1) and id not in (select min(id) from TABLE_NAME group by movie_id,star_id having count()>1)

    删除重复数据
    delete from TABLE_NAME where (movie_id,star_id) in (select movie_id,star_id from TABLE_NAME group by movie_id,star_id having count() > 1) and id not in (select min(id) from TABLE_NAME group by movie_id,star_id having count()>1)

    0 0
相关问答

2

回答

怎么用SQL语句过滤敏感字符?

2021-10-14 13:38:36 6766浏览量 回答数 2

2

回答

怎么用SQL语句查询分区表数据?

2021-10-14 13:40:26 565浏览量 回答数 2

1

回答

MySQL两条SQL语句的性能比较那种更优

2021-10-14 15:01:15 153浏览量 回答数 1

1

回答

sql中使用了group by时,select后面的字段可以不包含在Group By语句的后面么?

2021-10-14 17:21:54 7445浏览量 回答数 1

1

回答

运行SQL语句创建函数时报语法错误,怎么找出具体错误点

2021-10-14 17:22:34 7272浏览量 回答数 1

2

回答

SQL语句中WHERE条件后面的查询顺序是如何执行的?

2021-10-14 18:54:19 320浏览量 回答数 2

2

回答

如何使用SQL语句创建分区索引?

2021-10-14 20:10:18 382浏览量 回答数 2

1

回答

经常会遇到数据表被锁的情况,该如何快速定位导致锁表的SQL语句?

2021-10-14 22:31:16 207浏览量 回答数 1

1

回答

SQL语句取值在1-100怎么写

2021-10-13 19:09:38 908浏览量 回答数 1

1

回答

MySQL 的SQL语句优化问题

2016-02-27 13:54:53 2846浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载