dtv8189 2017-03-22 23:44
浏览 94
已采纳

MYSQL重复条目

i am trying to find duplicate entries within my mysql table. I would like to compare the different fields with each other. Here is the structure of my table:

ID    FirstName    LastName    Street    ZIP      City        IpAddress
 1      Jack        Smith       2nd     12345    Sample1     12.21.24.212
 2      Paul        Miller      3rd     45685    Sample2     78.54.85.654
 3      Jenny       Smith       3rd     77273    Sample3     84.91.67.311
 4      Frank       Jackson     1st     27819    Sample1     78.54.85.654
 5      Jack        Smith       3rd     72891    Sample2     94.79.99.465

Now i would like to compare the street and ip column individually and then i would like to find the combination of the first- and lastname. There are actually a few more columns in my table that i would like to search for but i think my example above should give you an idea about what i am planning.

I need the id numbers of the entries that could potencially duplicates.

In the example above the output should be the id numbers 1 and 5 when i compare the combination of the first- and lastname.

The output should be the id numbers 2,3 and 5 if i compare the street names.

And the output for the ip addresses should be id numbers 2 and 4.

Does anyone have some ideas about how i should do this? What is the best way to compare those different tables? I don't mind if i have to do several queries.

  • 写回答

1条回答 默认 最新

  • dourui9570 2017-03-22 23:49
    关注

    Use GROUP_CONCAT() to get all the IDs within a group, and GROUP BY to specify the columns that you're looking for duplidates of. And you can use COUNT(*) so you only return the ones that have duplicates.

    For streets:

    SELECT street, GROUP_CONCAT(id)
    FROM yourTable
    GROUP BY street
    HAVING COUNT(*) > 1
    

    For names:

    SELECT firstname, lastname, GROUP_CONCAT(id)
    FROM yourTable
    GROUP BY firstname, lastname
    HAVING COUNT(*) > 1
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 像这种代码要怎么跑起来?
  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件