título
Escribir una consulta SQL para eliminar la tabla Person todos los correos electrónicos duplicados, buzón duplicado retener sólo el ID más pequeño.
Por ejemplo, después de ejecutar la consulta, la tabla Person anterior debe devolver las siguientes líneas:
consejos:
Después de ejecutar SQL, toda la producción de la tabla Persona.
Utilice la instrucción de eliminación.
análisis
Métodos: cláusula WHERE DELETE y
algoritmos
Podemos utilizar el siguiente código para conectarse a este formulario en su columna de correo electrónico propia.
MySQL
SELECT p1.*
FROM Person p1,
Person p2
WHERE
p1.Email = p2.Email
;
Entonces tenemos que encontrar una mayor ID otros registros con la misma dirección de correo electrónico. Así podemos añadir una cláusula WHERE a las nuevas condiciones de este tipo.
MySQL
SELECT p1.*
FROM Person p1,
Person p2
WHERE
p1.Email = p2.Email AND p1.Id > p2.Id
;
Debido a que tenemos el registro a borrar, por lo que con el tiempo puede cambiar la instrucción DELETE.
MySQL
DELETE p1 FROM Person p1,
Person p2
WHERE
p1.Email = p2.Email AND p1.Id > p2.Id
respuesta
delete p1.* from
Person as p1,
Person as p2
where
p1.email = p2.email
and
p1.id > p2.id;
select * from Person;