Název | Sekce |
---|---|
abc | CS1 |
bcd | CS2 |
abc | CS1 |
Ve výše uvedené tabulce najdeme pomocí níže uvedeného dotazu duplicitní řádek.
SELECT name, section FROM tblGROUP BY name, sectionHAVING COUNT(*) > 1
Další příklad:
Vzhledem k tomu, že tabulkou s názvem PERSON je úkolem napsat SQL dotaz a najít všechny duplicitní názvy v tabulce.
Příklad:
+----+---------+| Id | NAME |+----+---------+| 1 | Geeks || 2 | for || 3 | Geeks |+----+---------+Output :+---------+| NAME |+---------+| Geeks |+---------+
Jednoduchým přístupem je vytvořit dočasnou tabulku, která má počet všech jmen v tabulce.
Duplikovaný NÁZEV existoval více než jednou, takže je třeba spočítat jednotlivé časy NAME existuje, můžeme použít následující kód:
select NAME, count(NAME) as numfrom Persongroup by NAME;
| NAME | num ||---------|-----|| Geeks | 2 || for | 1 |
Toto je dočasná tabulka, na kterém můžeme spustit níže uvedený kód, abychom získali duplicitní JMÉNO.
Nejlepším přístupem je použití podmínek GROUP BY a HAVING. Je efektivnější a rychlejší než předchozí.
MySql:
select NAMEfrom Persongroup by NAMEhaving count(NAME) > 1;
K tomuto článku přispívá Sahil Rajput. Pokud máte rádi GeeksforGeeks a chtěli byste přispět, můžete také napsat článek pomocí příspěvku prispět.geeksforgeeks.org nebo poslat svůj článek poštou na přispě[email protected]. Podívejte se, jak se váš článek zobrazuje na hlavní stránce GeeksforGeeks, a pomozte tak dalším Geekům.