Removendo linhas duplicadas no MySQL

Em um projeto, tive um problema em que o sistema fez linhas duplicadas na minha tabela.

Os campos da minha tabela são: id, de, para, msg, criado => exemplo: 1,1000,2000, ‘oi, isto é teste’, ‘2013-12-12’

Portanto, para obter linhas duplicadas:

SELECT id, COUNT( * ) AS c,  `to` ,  `msg` 
FROM
`my-queue`
GROUP BY
`to` , `msg`
HAVING c
>1

Agora, para remover linhas duplicadas:

DELETE FROM `my-queue` WHERE id IN 
(
SELECT id FROM

(
SELECT id
, COUNT( * ) AS c, `to` , `msg`
FROM
`my-queue`
GROUP BY
`to` , `msg`
HAVING c
>1
) as tem1
)

Isso foi simples, mas útil.

Seja um sucesso