Maison > base de données > tutoriel mysql > Comment supprimer les données en double dans SQL

Comment supprimer les données en double dans SQL

醉折花枝作酒筹
Libérer: 2022-01-12 15:09:01
original
38898 Les gens l'ont consulté

> 1)" .

Comment supprimer les données en double dans SQLL'environnement d'exploitation de ce tutoriel : système Windows7, version mysql8.0, ordinateur Dell G3.

Utilisez les instructions SQL pour supprimer les doublons et n'en conserver qu'un seul

Il existe des enregistrements identiques parmi des milliers d'enregistrements. Comment puis-je utiliser les instructions SQL pour supprimer les doublons

Rechercher les redondants. les enregistrements en double dans la table. Les enregistrements en double sont jugés sur la base d'un seul champ (peopleId)

select * from people 
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
Copier après la connexion

Extension :

Supprimer les doublons redondants dans la table. Les enregistrements, les enregistrements en double sont jugé sur la base d'un seul champ (peopleId), seul l'enregistrement avec le plus petit rowid est laissé

delete from people
where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1)
and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1)
Copier après la connexion

Rechercher les enregistrements en double redondants (plusieurs champs) dans la table

select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
Copier après la connexion

Supprimer la table Doublon redondant enregistrements (plusieurs champs), seul l'enregistrement avec le plus petit rowid est laissé

delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
Copier après la connexion

Enregistrements en double excessifs (plusieurs champs) dans la table de recherche, excluant l'enregistrement avec le plus petit rowid

select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)
Copier après la connexion

Éliminer le premier chiffre à gauche d'un champ :

update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like '村%'
Copier après la connexion

Supprimer le premier chiffre à droite d'un champ :

update tableName set [Title]=left([Title],(len([Title])-1)) where Title like '%村'
Copier après la connexion

False Supprimer les doublons redondants (champs multiples) dans la table, non inclus. enregistrer avec le plus petit rowid

update vitae set ispass=-1where peopleId in (select peopleId from vitae group by peopleId
Copier après la connexion

Recommandations associées : "

tutoriel mysql

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal