关于mysql数据库中重复数据的操作
Posted oceangoing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于mysql数据库中重复数据的操作相关的知识,希望对你有一定的参考价值。
今天用查数据库的时候发现好多问题,所以在这里记录一下
<!-- 查询A表中重复的idcard -->
1 SELECT 2 * 3 FROM 4 A 5 WHERE 6 idcard IN ( 7 SELECT 8 idcard 9 FROM 10 A 11 GROUP BY 12 idcard 13 HAVING 14 count(idcard) > 1 15 )
<!-- 查A,B两个表某一字段表相同的数据 -->
1 SELECT * FROM 2 3 A a,B b 4 5 WHERE 6 7 a.idcard=b.idcard 8 9 GROUP BY 10 11 b.idcard
<!-- 删除表中重复的字段,只保留id最小的那个数据-->
(这里的别名必须有,没有别名的话会报错)
1 <!-- 删除表中重复的数据 --> 2 DELETE FROM A 3 WHERE 4 idcard IN (SELECT 5 * 6 FROM 7 (SELECT 8 idcard 9 FROM 10 A 11 GROUP BY idcard 12 HAVING COUNT(idcard) > 1) t1) 13 AND id NOT IN (SELECT 14 * 15 FROM 16 (SELECT 17 MIN(id) 18 FROM 19 A 20 GROUP BY idcard 21 HAVING COUNT(idcard) > 1) t2)
<!-- 查找不存在与另一张表中的数据 -->
1 <!-- 查找A表有B表没有的数据 --> 2 SELECT * 3 from A a 4 WHERE NOT EXISTS( 5 SELECT idcard 6 from B b 7 WHERE 8 a.idcard=b.idcard 9 )
<!-- 也可以这样写 -->
SELECT
*
FROM
A
WHERE
id NOT IN (
SELECT id FROM B
)
以上是关于关于mysql数据库中重复数据的操作的主要内容,如果未能解决你的问题,请参考以下文章