表中查询重复的数据,如何通过sql语句查询?
2015-11-16 13:58
239 查看
1、最直观的思路:要知道所有名字有重复人资料,首先必须知道哪个名字重复了:
select name from emp group by name having count(*)>1
所有名字重复人的记录是:
select * from emp
where name in (select name from emp group by name having count(*)>1)
2、稍微再聪明一点,就会想到,如果对每个名字都和原表进行比较,大于2个人名字与这条记录相同的就是合格的 ,就有:
select * from emp
where (select count(*) from emp e where e.name=emp.name) >1
select name from emp group by name having count(*)>1
所有名字重复人的记录是:
select * from emp
where name in (select name from emp group by name having count(*)>1)
2、稍微再聪明一点,就会想到,如果对每个名字都和原表进行比较,大于2个人名字与这条记录相同的就是合格的 ,就有:
select * from emp
where (select count(*) from emp e where e.name=emp.name) >1
相关文章推荐
- MySQL5.6中新增特性、不推荐使用的功能以及废弃的功能
- sqlserver 数据分页 多个主键
- ORACLE获取某个时间段之间的月份列表
- MYSQL用法(十七) MySQL中DATE_FORMAT()用法
- MySQL 模糊检索
- Latch和Lock的区别
- mysql查询今天、昨天、7天、近30天、本月、上一月 数据
- MysqL group by 用法解析
- windows下mysql远程访问慢
- CentOS oracle Client客户端安装
- windows下mysql开启远程访问权限
- MySQL数据库十大优化技巧
- oracle闪回数据
- Oracle查看版本号
- ubuntu 安装php-redis
- Windows调试Postgresql
- 关于mysql数据库不出现名为mysql数据库的解决办法
- 数据库范式区别
- 数据库的3个范式之间的区别
- 一个sql题目, 统计每年每月的信息