MySQL查询

MySQL查询同一张表的重复数据

查询同一张数据表,同一列的重复数据。

mysql数据库,某些场景下,需要统计出某一张数据列表中是否存在两条或多条数据。

例子: 查询员工表中出现重复姓名的记录

思路:
1、查询重复记录,
首先要使用分组函数 “group by”,
再使用聚合函数的计数函数 “count(name)” 给name列计数。

注意:使用 “group by” 不可使用 " * "
2、查询关键字“name”,以name进行分组,看条件是“重复”,也就是 count(name) > 1,使用having过滤条件。(不可使用where,因为where子语句无法与聚合函数count()一起使用)

示例1

select employee_name,count(*) from employee group by employee_name having count(employee_name)>1;

示例2

select employee_name,count(*) as c from employee group by employee_name having c>1;

示例3 (查询全表,查询效率较慢,推荐示例1和2)

select * from employee where employee_name in ( select employee_name from employee group by employee_name having count(employee_name)>1);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值