Remove duplicates using only a MySQL query?

后端 未结 7 1190
死守一世寂寞
死守一世寂寞 2020-11-27 07:55

I have a table with the following columns:

URL_ID    
URL_ADDR    
URL_Time

I want to remove duplicates on the URL_ADDR column

7条回答
  •  借酒劲吻你
    2020-11-27 07:57

    This will work provided that your URL_ID column is unique.

    DELETE FROM url WHERE URL_ID IN (
    SELECT URL_ID
    FROM url a INNER JOIN (
        SELECT URL_ADDR, MAX(URL_ID) MaxURLId 
        FROM url
        GROUP BY URL_ADDR
        HAVING COUNT(*) > 1) b ON a.URL_ID <> b.MaxURLId AND a.URL_ADDR = b.URL_ADDR
    )
    

提交回复
热议问题