sql >> Databáze >  >> RDS >> Database

Jaké je použití příkazu SQL GROUP BY?

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 jedním z takových příkazů v SQL, který se používá k seskupení dat na základě několika sloupců nebo podmínek. V tomto článku o příkazu SQL GROUP BY proberu několik způsobů použití příkazů GROUP BY v následujícím pořadí:

  1. Příkaz GROUP BY
  2. Syntaxe
  3. Příklady:
    • Použijte GROUP BY pro jeden sloupec
    • GROUP BY ve více sloupcích
    • Použijte GROUP BY s ORDER BY
    • GROUP BY s klauzulí HAVING
    • Použijte GROUP BY s JOINS

Než přejdeme k příkladům použití klauzule GROUP BY, pochopme, co je GROUP BY v SQL a její syntaxi.

Příkaz SQL GROUP BY

Tento příkaz se používá k seskupení záznamů se stejnými hodnotami. Příkaz GROUP BY se často používá s agregačními funkcemi k seskupení výsledků podle jednoho nebo více sloupců. Kromě toho se klauzule GROUP BY používá také s klauzulí HAVING a JOINS k seskupení sady výsledků na základě podmínek.

SQL GROUP BY syntaxe

SELECT Column1, Column2,..., ColumnN
FROM TableName
WHERE Condition
GROUP BY ColumnName(s)
ORDER BY ColumnName(s);

Zde můžete přidat agregační funkce před názvy sloupců a také klauzuli HAVING na konec příkazu, která zmíní podmínku. Dále v tomto článku o SQL GROUP BY pochopíme, jak implementovat tento příkaz.

Příklady:

Pro vaše lepší pochopení jsem příklady rozdělil do následujících sekcí:

    • Použijte GROUP BY pro jeden sloupec
    • GROUP BY ve více sloupcích
    • Použijte GROUP BY s ORDER BY
    • GROUP BY s klauzulí HAVING
    • Použijte GROUP BY s JOINS

Budu zvažovat následující tabulku, abych vám vysvětlil příklady:

EmpID EmpName EmpEmail Telefonní číslo Plat Město

1

Nidhi

[email protected]

9955669999

50 000

Bombaj

2

Anay

[email protected]

9875679861

55 000

Pune

3

Rahul

[email protected]

9876543212

35 000

Dillí

4

Sonia

[email protected]

9876543234

35 000

Dillí

5

Akáš

[email protected]

9866865686

25 000

Bombaj

Pojďme se podívat na každý z nich.

Použít SQL GROUP BY na jeden sloupec

Příklad:

Napište dotaz a zjistěte počet zaměstnanců v každém městě.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City;

Výstup:

Uvidíte následující výstup:

Počet (EmpID) Město

2

Dillí

2

Bombaj

1

Pune

Použijte SQL GROUP BY pro více sloupců

Příklad:

Napište dotaz a zjistěte počet zaměstnanců s různými platy v každém městě.

SELECT City, Salary, Count(*)
FROM Employees
GROUP BY City, Salary;

Výstup:

Tabulka bude obsahovat následující údaje:

Město Plat Počet(*)

Dillí

35 000

2

Bombaj

25 000

1

Bombaj

50 000

1

Pune

55 000

1

Použijte SQL GROUP BY s ORDER BY

Když použijeme příkaz SQL GROUP BY s klauzulí ORDER BY, budou hodnoty seřazeny buď vzestupně, nebo sestupně.

Příklad:

Napište dotaz a zjistěte počet zaměstnanců v každém městě, seřazený v sestupném pořadí.

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
ORDER BY COUNT(EmpID) DESC;

Výstup:

Tabulka bude obsahovat následující údaje:

Počet (EmpID) Město

2

Dillí

2

Bombaj

1

Pune

Použijte SQL GROUP BY s klauzulí HAVING

Příkaz SQL GROUP BY se používá s klauzulí „HAVING“ ke zmínce o podmínkách ve skupinách. Protože také nemůžeme použít agregační funkce s klauzulí WHERE, musíme k použití agregačních funkcí s GROUP BY použít klauzuli „HAVING“.

Příklad:

Napište dotaz a zjistěte počet zaměstnanců v každém městě s platem> 15 000

SELECT COUNT(EmpID), City
FROM Employees
GROUP BY City
HAVING SALARY > 15000;

Výstup:

Protože všechny záznamy v tabulce Zaměstnanec mají plat> 15000, uvidíme jako výstup následující tabulku:

Počet (EmpID) Město

2

Dillí

2

Bombaj

1

Pune

Použijte GROUP BY s JOINS

JOINS jsou příkazy SQL používané ke spojení řádků ze dvou nebo více tabulek na základě souvisejícího sloupce mezi těmito tabulkami. K seskupení sady výsledků na základě sloupce/sloupců můžeme použít příkaz SQL GROUP BY. Při provádění příkazů JOIN s klauzulí SQL GROUP BY zvažte níže uvedené tabulky.

Tabulka projektů:

ID projektu EmpID ID klienta Datum projektu
2345 1 4 26-01-2019
9876 2 5 28-02-2019
3456 3 6 12-03-2019

Tabulka klientů:

ID klienta Jméno klienta

4

Sanjana

5

Rohan

6

Arun

Příklad

Napište dotaz a uveďte počet projektů požadovaných každým klientem:

SELECT 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

Arun

1

Rohan

1

Sanjana

1

Tím se dostáváme ke konci článku SQL GROUP BY. Podívejte se na to Certifikační školení MySQL DBA od Edureka, důvěryhodné online vzdělávací společnosti se sítí oz více než 250 000 spokojených studentů po celém světě. Tento kurz vás naučí základní koncepty a pokročilé nástroje a techniky pro správu dat a správu databáze MySQL. Zahrnuje praktické učení pojmů jako MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Návrh databáze, Příkazový řádek MySQL, Funkce MySQL atd. Na konci školení budete schopni vytvořit a spravovat vlastní databázi MySQL a spravovat data.

Máte na nás otázku? Uveďte to prosím v sekci komentářů tohoto článku „SQL GROUP BY“ a my se vám co nejdříve ozveme.


  1. Určení data Velikonoc pro jakýkoli rok v Oracle PLSQL

  2. Datový model pro obchodování s akciemi, fondy a kryptoměnami

  3. Jak nastavit replikaci MariaDB (Master-Slave) v CentOS/RHEL 7 a Debian 8/9

  4. Proaktivní kontroly stavu serveru SQL Server, část 4:ERRORLOG