1)"."/> 1)".">

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

Comment supprimer les données en double dans SQL

醉折花枝作酒筹
醉折花枝作酒筹original
2021-05-11 17:10:4838800parcourir

> 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)

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)

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)

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)

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)

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

update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like '村%'

Supprimer le premier chiffre à droite d'un champ :

update tableName set [Title]=left([Title],(len([Title])-1)) where Title like '%村'

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

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!

Déclaration:
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