Maison > Article > base de données > requête mysql pour les enregistrements en double
Dans la base de données MySQL, la recherche d'enregistrements en double est une exigence très courante. Cet article explique comment utiliser SQL pour rechercher des enregistrements en double.
De manière générale, vous pouvez utiliser les instructions GROUP BY et HAVING pour interroger les enregistrements en double dans MySQL. Présentons-les en détail ci-dessous.
1. Utilisez GROUP BY et HAVING
L'utilisation des instructions GROUP BY et HAVING peut facilement interroger les enregistrements en double. La syntaxe spécifique est la suivante :
SELECT column_name1, column_name2, ... column_nameN, COUNT(*) FROM table_name GROUP BY column_name1, column_name2, ... column_nameN HAVING COUNT(*) > 1;
où, column_name1
、column_name2
、column_nameN
是你要查询的字段名称,table_name
est le nom de la table que vous souhaitez interroger, et COUNT(. ) est Compter le nombre de valeurs en double. HAVING COUNT() > 1 signifie interroger uniquement les enregistrements avec des valeurs en double supérieures à une fois.
Par exemple, nous avons une table nommée étudiants, qui contient deux champs id et name. Nous voulons maintenant interroger tous les noms en double. Nous pouvons utiliser l'instruction SQL suivante :
SELECT name, COUNT(*) FROM students GROUP BY name HAVING COUNT(*) > 1;
L'instruction SQL ci-dessus interrogera tous les noms en double et. leur époque.
2. Utilisez des sous-requêtes et des tables temporaires
L'utilisation de sous-requêtes et de tables temporaires peut également rechercher des enregistrements en double. Voici l'instruction SQL spécifique :
SELECT id, name FROM students WHERE name IN ( SELECT name FROM students GROUP BY name HAVING COUNT(*) > 1 );
L'instruction SQL ci-dessus interrogera tous les enregistrements en double, où l'identifiant et le nom. sont respectivement les noms des champs à interroger, étudiants est le nom de la table à interroger et WHERE nom IN (...) représente tous les noms répétés trouvés dans la sous-requête.
Résumé :
Cet article présente la méthode d'utilisation des instructions GROUP BY et HAVING ainsi que des sous-requêtes et des tables temporaires pour interroger les enregistrements en double. Les lecteurs peuvent choisir différentes méthodes en fonction de la situation réelle pour mieux répondre à leurs besoins. De plus, dans les applications pratiques, afin d'améliorer les performances, vous devez également faire attention à l'utilisation des champs de requête et des index.
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!