欢迎投稿

今日深度:

mysql如何判断同一字段是否有重复数据,

mysql如何判断同一字段是否有重复数据,


目录
  • mysql判断同一字段是否有重复数据
    • 解决方式
    • 原因刨析
    • 实例展示
  • mysql对某个字段重复数据的查询,删除,与合并
    • 1.对于部门表部门编号重复的数据
    • 2.对于故障信息表将相同设备的问题信息合并成一条
  • 总结

    mysql判断同一字段是否有重复数据

    有时候我们呢会遇到业务问题:判断数据库字段是否含有重复数据?

    解决方式

    其实很简单,直接写sql语句:

    select 字段名 from 表名 
    
    group by 字段名
    
    having count(*)>1

    原因刨析

    我们运用group by来进行分组,然后再把分组里大于1条的数据挑出来自然就是重复的数据。

    实例展示

    1.创建一张表

    2.里面有‘张三’这个重复数据,把它挑出来

    select name from testname
    GROUP BY name
    having count(*)>1

    3.结果是只有'张三'这个结果,得到了重复的数据。

    mysql对某个字段重复数据的查询,删除,与合并

    1.对于部门表部门编号重复的数据

    进行相关操作

    -- 先查看部门信息原表的数据
    select * from t_dept;

    -- 查询出所有d_no有重复的数据(没有重复的不显示,即104在表中只有一条,所以不显示)
    select * from t_dept td where td.d_no in (select t1.d_no from t_dept t1 group by t1.d_no having count(1) > 1);

    -- 查询出所有d_no有重复的数据(只显示多余的那几条,比如101和103表中一共有三条,只显示多余的两条,同样102有两条,那么只显示多余的那一条)
    ​​​​​​​select * from t_dept td where td.d_id not in (select min(t1.d_id) min_id from t_dept t1 group by t1.d_no);

    -- 删除表中d_no重复的数据,只留一条
    ​​​​​​​delete from t_dept td where td.d_id not in (select tab.min_id from (select min(t1.d_id) min_id from t_dept t1 group by t1.d_no) tab);

    2.对于故障信息表将相同设备的问题信息合并成一条

    -- 先查看故障信息原表的数据
    select * from t_fault;

    -- 将故障等级和故障信息拼接在一起(CONCAT_WS()函数)
    ​​​​​​​select tf.f_id,tf.f_no,tf.f_name,CONCAT_WS('-',tf.f_level,tf.f_desc) as f_msg from t_fault tf 

    -- 将故障信息和故障等级拼接在一起(这里使用CONCAT_WS()函数),并将编号名称相同的产品合并成一条(这里使用GROUP_CONCAT()函数)
    select tab.f_no,tab.f_name,GROUP_CONCAT(tab.f_msg SEPARATOR ';') goup_msg from 
    (select tf.f_id,tf.f_no,tf.f_name,CONCAT_WS('-',tf.f_level,tf.f_desc) as f_msg from t_fault tf ) tab 
    group by tab.f_no,tab.f_name

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持PHP之友。

    您可能感兴趣的文章:
    • Mysql判断表字段或索引是否存在
    • Mysql字符串字段判断是否包含某个字符串的2种方法
    • mysql中如何判断当前是字符 mysql判断字段中有无汉字
    • mysql判断字段是否存在的方法
    • php判断输入不超过mysql的varchar字段的长度范围
    • Mysql数据库如何使用DELETE语句从数据库表中删除数据(数据库数据删除)

    www.htsjk.Com true http://www.htsjk.com/Mysql/48763.html NewsArticle mysql如何判断同一字段是否有重复数据, 目录 mysql判断同一字段是否有重复数据 解决方式 原因刨析 实例展示 mysql对某个字段重复数据的查询,删除,与合并 1.对于部门表部门编号重复...
    评论暂时关闭