GeeksforGeeks (Čeština)


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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *