Find duplicate records in MySQL

后端 未结 23 2858
别跟我提以往
别跟我提以往 2020-11-21 23:12

I want to pull out duplicate records in a MySQL Database. This can be done with:

SELECT address, count(id) as cnt FROM list
GROUP BY address HAVING cnt >         


        
23条回答
  •  小鲜肉
    小鲜肉 (楼主)
    2020-11-21 23:49

    Powerlord answer is indeed the best and I would recommend one more change: use LIMIT to make sure db would not get overloaded:

    SELECT firstname, lastname, list.address FROM list
    INNER JOIN (SELECT address FROM list
    GROUP BY address HAVING count(id) > 1) dup ON list.address = dup.address
    LIMIT 10
    

    It is a good habit to use LIMIT if there is no WHERE and when making joins. Start with small value, check how heavy the query is and then increase the limit.

提交回复
热议问题