DELETE A FROM book A JOIN ( SELECT MIN(id) id,authorID,bookName FROM book GROUP BY authorID,bookName HAVING COUNT(1) > 1 ) TMP ON A.authorID= TMP.authorID AND A.bookName =TMP.bookName AND A.id <> TMP.id