J'ai donné à un client la requête suivante pour supprimer le numéro de téléphone en double. enregistrements dans une base de données MSSQL, mais maintenant ils doivent également le faire sur MySQL, et ils signalent que MySQL se plaint du format de la requête. J'ai inclus la configuration d'une table de test avec des doublons pour mon exemple de code, mais la requête de suppression réelle est ce qui compte. Je demande ceci dans l'ignorance et l'urgence, car je suis toujours occupé à télécharger et à installer MySQL, et peut-être que quelqu'un peut aider dans le même temps.Comment faire pour supprimer des doublons dans la table MySQL
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
)
Cela me semble bien. Utilisent-ils une version de MySQL qui supporte les sous-requêtes? –
Pourquoi 'avoir compte (*)> = 1' ?? Quand est-ce jamais? – RichardTheKiwi