mysql查询重复数据

表全部数据

-------------------

1 查询people_no重复的记录

select * from people
where people_no in (select   people_no from   people group by   people_no having count(people_no) > 1);

----------------------

2 查询people_no重复的记录 ,排除最小id,如果删除改为delete from

select * from people
where people_no in (select   people_no from people group by   people_no   having count(people_no) > 1) and
id not in (select min(id) from   people group by people_no having count(people_no)>1);

-----------------------------

3 查询people_no people_name重复的记录

select * from people a
where (a.people_no,a.people_name) in (select people_no,people_name from people GROUP BY people_no,people_name HAVING count(*)>1);

-----------------------------------

4 查询people_no people_name重复的记录,排除最小id

select * from people a
where (a.people_no,a.people_name) in (select people_no,people_name from people GROUP BY people_no,people_name HAVING count(*)>1) and
a.id not in    (select min(id) from people GROUP BY people_no,people_name HAVING count(*)>1);
 

原文地址:https://www.cnblogs.com/LDDXFS/p/9867928.html

时间: 2024-10-08 19:58:45

mysql查询重复数据的相关文章

mysql 查询重复的(不区分大小写)数据的SQL优化

在mysql中查询不区分大小写重复的数据,往往会用到子查询,并在子查询中使用upper函数来将条件转化为大写.如: select * from staticcatalogue WHERE UPPER(Source) IN (SELECT UPPER(Source) FROM staticcatalogue GROUP BY UPPER(Source) having count(UPPER(Source))>1) ORDER BY upper(Source) DESC; 这条语句的执行效率是非常低

MySQL 处理重复数据:防止表中出现重复数据、统计、过滤、删除重复数据

MySQL 处理重复数据 有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据. 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据. 防止表中出现重复数据 你可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性. 让我们尝试一个实例:下表中无索引及主键,所以该表允许出现多条重复记录. CREATE TABLE person_tbl

mysql 删除重复数据的sql语句

CREATE TABLE tmp AS SELECT id FROM get_review_url WHERE (no,title,name,content) IN (SELECT no,title,name,content FROM get_review_url GROUP BY no,title,name,content HAVING COUNT(*) > 1) AND id NOT IN (SELECT MIN(id) FROM get_review_url GROUP BY no,tit

SQL学习_查询重复数据和连接多个表数据的方法

进行数据库测试时需要根据不同场景查询数据,以便验证发现的问题是否为脏数据引起的.记录一下最近常用的查询方法: 1. 查询表中重复数据(id不同,多个字段值相同) select P1.* from project as P1, project as P2 where P1.id<>P2.id and P1.ProjectId=P2.ProjectId and P1.ServiceTypeId=P2.ServiceTypeId and P1.Rank=P2.Rank 2.连接多个表数据 selec

数据库:去重和查询重复数据

在数据库表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 1.作用于单列 select distinct name from A 执行后结果如下: 作用于多列 示例2.1 select distinct name, id from A 执行后结果如下: 实际上是根据name和id两个字段来去重的,这种方式Access和SQL Server同时支持. 有时候需要查询重复数据的记录,可以用group

mysql 去除重复数据 语句

纠结的过程: mysql> select * from role group by role_name,deleted; +---------+-----------+---------+ | role_id | role_name | deleted | +---------+-----------+---------+ | 2 | xue | 12 | | 1 | zhao | 12 | | 3 | zhao | 13 | +---------+-----------+---------+

MySQL查询重复出现次数最多的记录

MySQL查询重复出现次数最多的记录 http://database.51cto.com/art/201011/235139.htm 2010-11-25 14:40 佚名 互联网 字号:T | T 对于MySQL数据库来说,查询永远是最重要的功能,下文就教您查询重复出现次数最多的记录的方法,供您借鉴参考. AD:51CTO移动APP安全沙龙!马上要爆满,手慢没座位! MySQL查询的方法很多,下面为您介绍的MySQL查询语句用于实现查询重复出现次数最多的记录,对于学习MySQL查询有很好的帮助

oracle查询重复数据

oracle查询重复数据 select * from 表 where 条件 and 判重字段 not in (select 判重字段 from 表 where 条件 group by 判重字段 having count(*) > 1) 根据rowid删除重复数据,保留一条 delete from 表 where 条件 and 判重字段 not in (select 判重字段 from 表 where 条件 group by 判重字段 having count(*) >1) and rowid

orcl数据库查询重复数据及删除重复数据方法

工作中,发现数据库表中有许多重复的数据,而这个时候老板需要统计表中有多少条数据时(不包含重复数据),只想说一句MMP,库中好几十万数据,肿么办,无奈只能自己在网上找语句,最终成功解救,下面是我一个实验,很好理解. ------------------------------------------------------------------------------------------------------------------------ 假设有一张人员信息表cs(姓名,证件号,地址