• 技术文章 >数据库 >mysql教程

    mysql怎样查询重复字段

    长期闲置长期闲置2022-01-12 10:17:25原创538

    在mysql中,可以利用count()函数来查询重复字段,该函数能够返回指定条件的结果,语法为“ SELECT 字段值 COUNT(*) as count FROM 表名 GROUP BY 字段值 having count>1;”。

    本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

    mysql怎样查询重复字段

    示例 accountinfo 表数据如下:

    57.png

    场景一 单个字段重复数据查找 & 去重

    我们要把上面这个表中 单个字段 account字段相同的数据找出来。

    思路 分三步 简述:

    第一步

    要找出重复数据,我们首先想到的就是,既然是重复,那么 数量就是大于 1 就算是重复。 那就是 count 函数 。

    因为我们要排查的是 单个 字段account ,那么就是需要按照 account 字段 维度 去分组。 那就是 group by 函数。

    那么我们第一步写出来的mysql 语句是:

     SELECT account ,COUNT(account) as count FROM accountinfo GROUP BY account;

    查询结果如下:

    01.png

    第二步

    没错,如我们所想,count大于1的即是 account为 A 和 B 的数据。

    那么我们稍作筛选,只把count大于1的数据的account 找出来。

    第二步,利用having 拼接筛选条件,写出来的mysql 语句是:

     SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1;

    查询结果如下:

    02.png

    第三步

    重复的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
     );

    查询结果如下:

    03.png

    可以看到重复的数据都被我们筛选出来了。

    推荐学习:mysql视频教程

    以上就是mysql怎样查询重复字段的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql
    上一篇:mysql怎样使用in查询 下一篇:mysql怎样查询区分大小写
    PHP编程就业班

    相关文章推荐

    • mysql中“=”是什么意思• mysql中as的用法是什么• mysql学习之select查询语句到底是怎么执行的?• MySQL忘记密码的解决方法:无密码登录并重置root密码• 聊聊MySQL中的聚合函数,实践掌握分页查询!

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网