Nom | Section |
---|---|
abc | CS1 |
bcd | CS2 |
abc | CS1 |
Dans le tableau ci-dessus, nous pouvons trouver une ligne en double en utilisant la requête ci-dessous.
SELECT name, section FROM tblGROUP BY name, sectionHAVING COUNT(*) > 1
Autre exemple:
Étant donné une table nommée, la tâche PERSON consiste à écrire une requête SQL pour trouver tous les noms en double dans la table.
Exemple:
+----+---------+| Id | NAME |+----+---------+| 1 | Geeks || 2 | for || 3 | Geeks |+----+---------+Output :+---------+| NAME |+---------+| Geeks |+---------+
Lapproche simple consiste à créer une table temporaire contenant le décompte de tous les noms dune table.
Le nom dupliqué a existé plus dune fois, donc pour compter les fois chacun NAME existe, nous pouvons utiliser le code suivant:
select NAME, count(NAME) as numfrom Persongroup by NAME;
| NAME | num ||---------|-----|| Geeks | 2 || for | 1 |
Ceci est une table temporaire, sur lequel nous pouvons exécuter le code ci-dessous pour obtenir un NOM en double.
La meilleure approche consiste à utiliser les conditions GROUP BY et HAVING. Il est plus efficace et plus rapide que les précédents.
MySql:
select NAMEfrom Persongroup by NAMEhaving count(NAME) > 1;
Cet article est rédigé par Sahil Rajput. Si vous aimez GeeksforGeeks et que vous souhaitez contribuer, vous pouvez également écrire un article en utilisant contrib.geeksforgeeks.org ou envoyer votre article à [email protected]. Consultez votre article sur la page principale de GeeksforGeeks et aidez dautres Geeks.