Le he dado a un cliente la siguiente consulta para eliminar el número de teléfono duplicado. registros en una base de datos MSSQL, pero ahora también deben hacerlo en MySQL, e informan que MySQL se queja del formato de la consulta. He incluido la configuración de una tabla de prueba con duplicados para mi muestra de código, pero la consulta de eliminación real es lo que cuenta.Cómo eliminar duplicados en la tabla de MySQL
Lo pregunto por ignorancia y urgencia, ya que todavía estoy ocupado descargando e instalando MySQL, y tal vez alguien pueda ayudar mientras tanto.
create table bkPhone
(
phoneNo nvarchar(20),
firstName nvarchar(20),
lastName nvarchar(20)
)
GO
insert bkPhone values('0783313780','Brady','Kelly')
insert bkPhone values('0845319792','Mark','Smith')
insert bkPhone values('0834976958','Bill','Jones')
insert bkPhone values('0845319792','Mark','Smith')
insert bkPhone values('0828329792','Mickey','Mouse')
insert bkPhone values('0834976958','Bill','Jones')
alter table bkPhone add phoneId int identity
delete from bkPhone
where phoneId not in
(
select min(phoneId)
from bkPhone
group by phoneNo,firstName,lastName
having count(*) >= 1
)
Me parece bien. ¿Están usando una versión de MySQL que admite subconsultas? –
¿Por qué 'tener count (*)> = 1' ?? Cuando alguna vez NO? – RichardTheKiwi