Ho assegnato a un cliente la seguente query per eliminare il numero di telefono duplicato. registra in un database MSSQL, ma ora devono farlo anche su MySQL e riportano che MySQL si lamenta del formato della query. Ho incluso l'installazione di una tabella di test con duplicati per il mio esempio di codice, ma la query di eliminazione effettiva è ciò che conta.Come eliminare i duplicati nella tabella MySQL
Lo chiedo in termini di ignoranza e urgenza, dato che sono ancora impegnato a scaricare e installare MySQL, e forse qualcuno può aiutare nel frattempo.
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
)
Mi sembra soddisfacente. Stanno usando una versione di MySQL che supporta le subquery? –
Perché avere un conteggio (*)> = 1' ?? Quando mai è NOT? – RichardTheKiwi