Pokud je k dispozici velké množství dat, často vidíme možnost manipulovat s daty podle našich požadavků. Klauzule GROUP BY je jednou z takových , slouží ke seskupení dat na základě několika sloupců nebo na základě podmínek. V tomto článku o příkazu SQL GROUP BY budu diskutovat o několika způsobech použití příkazů GROUP BY v následujícím pořadí:
Než přejdeme k příkladům, jak používat klauzuli GROUP BY, pochopme, co je GROUP BY v SQL a jeho syntaxi.
Příkaz SQL GROUP BY
Tento příkaz se používá ke seskupení záznamů, které mají stejné hodnoty. Příkaz GROUP BY se často používá s agregačními funkcemi ke seskupení výsledků podle jednoho nebo více sloupců.Kromě toho se klauzule GROUP BY používá také s klauzulí HAVING a seskupit sadu výsledků na základě podmínek.
Syntaxe SQL GROUP BY
VYBERTE Sloupec1, Sloupec2, ..., Sloupec N OD Název_tabulky KDE Podmínka SKUPINU PODLE Název_sloupce OBJEDNAT PODLE Název_sloupce
Zde můžete přidat agregační funkce před názvy sloupců a také klauzuli HAVING na konci příkazu, abyste uvedli podmínku.Dále v tomto článku o SQL GROUP BY pochopíme, jak implementovat toto prohlášení.
Příklady:
Pro lepší pochopení jsem příklady rozdělil do následujících částí:
Zvažuji následující tabulku, abych vám vysvětlil příklady:
EmpID | EmpName | EmpEmail | Telefonní číslo | Plat | Město |
jeden | Nidhi | nidhi@sample.com | 9955669999 | 50 000 | Bombaj |
2 | Anay | anay@sample.com | 9875679861 | 55000 | Dát |
3 | Rahul | rahul@sample.com | 9876543212 | 35000 | Dillí |
4 | Sonia | sonia@sample.com | 9876543234 | 35000 | Dillí |
5 | Akash | akash@sample.com | 9866865686 | 25 000 | Bombaj |
Podívejme se na každého z nich.
Použijte SQL GROUP BY na jednom sloupci
Příklad:
Napište dotaz a získejte počet zaměstnanců v jednotlivých městech.
VYBERTE POČET (EmpID), město OD zaměstnanců SKUPINU PODLE města
Výstup:
Uvidíte následující výstup:
Count (EmpID) | Město |
2 | Dillí |
2 | Bombaj |
jeden | Dát |
Použijte SQL GROUP BY na více sloupcích
Příklad:
Napište dotaz a získejte počet zaměstnanců s různými platy v jednotlivých městech.
VYBERTE město, plat, počet (*) OD zaměstnanců SKUPINU PODLE města, plat
Výstup:
Tabulka bude obsahovat následující údaje:
Město | Plat | Počet(*) |
Dillí | 35000 | 2 |
Bombaj | 25 000 | jeden |
Bombaj | 50 000 | jeden |
Dát | 55000 | jeden |
Použijte SQL GROUP BY s ORDER BY
Když použijeme příkaz SQL GROUP BY s Klauzule ORDER BY , hodnoty se seřadí vzestupně nebo sestupně.
Příklad:
Napište dotaz a získejte počet zaměstnanců v každém městě seřazený sestupně.
VYBERTE POČET (EmpID), město OD zaměstnanců SKUPINU PODLE MĚSTA OBJEDNÁVKU PODLE POČETU (EmpID) POP
Výstup:
Tabulka bude obsahovat následující údaje:
Count (EmpID) | Město |
2 | Dillí |
2 | Bombaj |
jeden | Dát |
Použijte SQL GROUP BY s klauzulí HAVING
Příkaz SQL GROUP BY se používá s klauzulí „HAVING“ k uvedení podmínek ve skupinách.Protože nemůžeme použít agregační funkce s klauzulí WHERE, musíme použít klauzuli „HAVING“ pro použití agregačních funkcí s GROUP BY.
Příklad:
Napište dotaz a získejte počet zaměstnanců v každém městě s platem> 15 000
VYBERTE POČET (EmpID), město OD zaměstnanců SKUPINU PODLE MĚST S VÝPLATOU> 15000
Výstup:
Protože všechny jsou záznamy v tabulce Zaměstnanec mají plat> 15 000, uvidíme jako výstup následující tabulku:
Count (EmpID) | Město |
2 | Dillí |
2 funkce, které se liší pouze svým návratovým typem, nelze přetížit | Bombaj |
jeden | Dát |
Použijte GROUP BY s JOINS
jsou SQL příkazy používané ke kombinování řádků ze dvou nebo více tabulek na základě souvisejícího sloupce mezi těmito tabulkami. Můžeme použít příkaz SQL GROUP BY ke seskupení sady výsledků na základě sloupce / sloupců.Zvažte níže uvedené tabulky k provedení příkazů JOIN s klauzulí SQL GROUP BY.
Tabulka projektů:
ID projektu | EmpID | ClientID | ProjectDate |
2. 3. 4. 5 | jeden | 4 | 01-26-2019 |
9876 | 2 | 5 | 02-28-2019 |
3456 | 3 | 6 | 3. 12. 2019 |
Tabulka zákazníků:
ClientID | Jméno klienta |
4 | Sanjana |
5 | Rohan |
6 | Běh |
Příklad
Napište dotaz a uveďte počet projektů požadovaných každým klientem:
VYBERTE Clients.ClientName, COUNT (Projects.ProjectID) AS RequestedProjects FROM Projects LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID GROUP BY ClientName
Výstup:
Tabulka bude obsahovat následující údaje:
Jméno klienta | Požadované projekty |
Běh | jeden |
Rohan | jeden |
Sanjana | jeden |
S tím se dostáváme na konec článku SQL GROUP BY. Podívejte se na to Edureka, důvěryhodná online vzdělávací společnost se sítí nebo f více než 250 000 spokojených studentů po celém světě. Tento kurz vás naučí základním konceptům a pokročilým nástrojům a technikám pro správu dat a správu databáze MySQL. Zahrnuje praktické učení o konceptech jako MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions atd. Na konci školení budete moci vytvářet a spravovat vlastní MySQL databázi a spravovat data.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „SQL GROUP BY“ a my se vám ozveme co nejdříve.