首页 > 数据库 > MySQL > 正文

mysql如何查询重复字段

2024-07-24 12:33:44
字体:
来源:转载
供稿:网友
  mysql如何查询重复字段
 
  场景一   单个字段重复数据查找 & 去重
 
  我们要把上面这个表中 单个字段 account字段相同的数据找出来。
 
  思路 分三步 简述:
 
  第一步
 
  要找出重复数据,我们首先想到的就是,既然是重复,那么 数量就是大于 1  就算是重复。 那就是 count 函数 。
 
  因为我们要排查的是 单个 字段account ,那么就是需要按照 account 字段 维度 去分组。  那就是 group by 函数。
 
  那么我们第一步写出来的mysql 语句是:
 
   SELECT account ,COUNT(account) as count FROM accountinfo GROUP BY account;
 
  第二步
 
  没错,如我们所想,count大于1的即是 account为 A  和 B 的数据。
 
  那么我们稍作筛选,只把count大于1的数据的account  找出来。
 
  第二步,利用having 拼接筛选条件,写出来的mysql 语句是:
 
   SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1;
 
  第三步
 
  重复的account数据 A B 都找出来了,接下来我们只需要把account为A 和 B 的其他数据都一起查询出来。
 
  那就是利用第二步查出来的数据做为子查询条件,使用 IN 函数。
 
  第三步写出来的mysql 语句是:
 
   SELECT * FROM  accountinfo WHERE account IN
   (
   SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1
   );
 
  可以看到重复的数据都被我们筛选出来了。
 
  感谢各位的阅读!关于“mysql如何查询重复字段”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表