Nume | Secțiune |
---|---|
abc | CS1 |
bcd | CS2 |
abc | CS1 |
În tabelul de mai sus, putem găsi rândul duplicat folosind interogarea de mai jos.
SELECT name, section FROM tblGROUP BY name, sectionHAVING COUNT(*) > 1
Un alt exemplu:
Având în vedere un tabel numit PERSON, sarcina este de a scrie o interogare SQL pentru a găsi toate numele duplicat în tabel.
Exemplu:
+----+---------+| Id | NAME |+----+---------+| 1 | Geeks || 2 | for || 3 | Geeks |+----+---------+Output :+---------+| NAME |+---------+| Geeks |+---------+
Abordarea simplă este de a crea un tabel temporar care să conțină toate numele dintr-un tabel.
NAME duplicat au existat de mai multe ori, deci să numere de fiecare dată NAME există, putem folosi următorul cod:
select NAME, count(NAME) as numfrom Persongroup by NAME;
| NAME | num ||---------|-----|| Geeks | 2 || for | 1 |
Acesta este un tabel temporar, pe care putem rula codul de mai jos pentru a obține NUME duplicat.
Cea mai bună abordare este să folosiți condiția GROUP BY și HAVING. Este mai eficient și mai rapid decât anterior.
MySql:
select NAMEfrom Persongroup by NAMEhaving count(NAME) > 1;
Acest articol este contribuit de Sahil Rajput. Dacă vă place GeeksforGeeks și doriți să contribuiți, puteți scrie, de asemenea, un articol folosind contribute.geeksforgeeks.org sau să trimiteți articolul dvs. prin e-mail la [email protected]. Vedeți articolul dvs. care apare pe pagina principală GeeksforGeeks și ajutați alți Geeks.