sql >> Database teknologi >  >> RDS >> Database

Hvad er brugen af ​​SQL GROUP BY-erklæring?

Når en stor mængde data er til stede, ser vi ofte en mulighed for at manipulere data i overensstemmelse med vores krav. GROUP BY-sætning er en sådan sætning i SQL, der bruges til at gruppere data baseret på få kolonner eller på betingelser. I denne artikel om SQL GROUP BY-sætning vil jeg diskutere nogle få måder at bruge GROUP BY-sætningerne på i følgende rækkefølge:

  1. GRUPPER EFTER-udsagn
  2. Syntaks
  3. Eksempler:
    • Brug GROUP BY på enkelt kolonne
    • GRUPPER EFTER på flere kolonner
    • Brug GROUP BY med ORDER BY
    • GROUP BY med HAVING-sætning
    • Brug GROUP BY med JOINS

Før vi går over til eksemplerne på, hvordan man bruger GROUP BY-sætningen, lad os forstå, hvad der er GROUP BY i SQL og dets syntaks.

SQL GROUP BY-sætning

Denne erklæring bruges til at gruppere poster med de samme værdier. GROUP BY-sætningen bruges ofte sammen med de aggregerede funktioner til at gruppere resultaterne efter en eller flere kolonner. Udover dette bruges GROUP BY-sætningen også med HAVING-sætningen og JOINS til at gruppere resultatsættet baseret på betingelser.

SQL GROUP BY Syntaks

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

Her kan du tilføje aggregerede funktioner før kolonnenavnene, og også en HAVING-sætning i slutningen af ​​sætningen for at nævne en betingelse. Lad os derefter i denne artikel om SQL GROUP BY forstå, hvordan denne sætning implementeres.

Eksempler:

For din bedre forståelse har jeg opdelt eksemplerne i følgende sektioner:

    • Brug GROUP BY på enkelt kolonne
    • GRUPPER EFTER på flere kolonner
    • Brug GROUP BY med ORDER BY
    • GROUP BY med HAVING-sætning
    • Brug GROUP BY med JOINS

Jeg vil overveje følgende tabel for at forklare dig eksemplerne:

EmpID EmpName EmpE-mail Telefonnummer Løn By

1

Nidhi

[email protected]

9955669999

50.000

Mumbai

2

Any

[email protected]

9875679861

55.000

Pune

3

Rahul

[email protected]

9876543212

35.000

Delhi

4

Sonia

[email protected]

9876543234

35.000

Delhi

5

Akash

[email protected]

9866865686

25.000

Mumbai

Lad os tage et kig på hver enkelt af dem.

Brug SQL GROUP BY på enkelt kolonne

Eksempel:

Skriv en forespørgsel for at hente antallet af ansatte i hver by.

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

Output:

Du vil se følgende output:

Count(EmpID) By

2

Delhi

2

Mumbai

1

Pune

Brug SQL GROUP BY på flere kolonner

Eksempel:

Skriv en forespørgsel for at hente antallet af ansatte med forskellige lønninger i hver by.

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

Output:

Tabellen vil have følgende data:

By Løn Tal(*)

Delhi

35.000

2

Mumbai

25.000

1

Mumbai

50000

1

Pune

55.000

1

Brug SQL GROUP BY med ORDER BY

Når vi bruger SQL GROUP BY-sætningen med ORDER BY-sætningen, sorteres værdierne enten i stigende eller faldende rækkefølge.

Eksempel:

Skriv en forespørgsel for at hente antallet af ansatte i hver by, sorteret i faldende rækkefølge.

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

Output:

Tabellen vil have følgende data:

Count(EmpID) By

2

Delhi

2

Mumbai

1

Pune

Brug SQL GROUP BY med HAVING-sætning

SQL GROUP BY-sætningen bruges sammen med 'HAVING'-sætningen for at nævne betingelser på grupper. Da vi ikke kan bruge de samlede funktioner med WHERE-udtrykket, skal vi også bruge "HAVING"-udtrykket for at bruge de samlede funktioner med GROUP BY.

Eksempel:

Skriv en forespørgsel for at hente antallet af ansatte i hver by med en løn> 15.000

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

Output:

Da alle poster i tabellen Medarbejder har en løn> 15000, vil vi se følgende tabel som output:

Count(EmpID) By

2

Delhi

2

Mumbai

1

Pune

Brug GROUP BY med JOINS

JOINS er SQL-sætninger, der bruges til at kombinere rækker fra to eller flere tabeller, baseret på en relateret kolonne mellem disse tabeller. Vi kan bruge SQL GROUP BY-sætningen til at gruppere resultatsættet baseret på en kolonne/kolonner. Overvej nedenstående tabeller for at udføre JOIN-sætningerne med SQL GROUP BY-sætningen.

Tabel over projekter:

Projekt-ID EmpID Kunde-id Projektdato
2345 1 4 26-01-2019
9876 2 5 28-02-2019
3456 3 6 12-03-2019

Kundetabel:

Kunde-id Kundenavn

4

Sanjana

5

Rohan

6

Arun

Eksempel

Skriv en forespørgsel for at angive antallet af projekter, som hver klient har anmodet om:

SELECT Clients.ClientName, COUNT(Projects.ProjectID) AS RequestedProjects FROM Projects
LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID
GROUP BY ClientName;

Output:

Tabellen vil have følgende data:

Kundenavn Anmodede projekter

Arun

1

Rohan

1

Sanjana

1

Med det kommer vi til enden af ​​SQL GROUP BY-artiklen. Tjek dette ud MySQL DBA-certificeringsuddannelse af Edureka, en betroet online læringsvirksomhed med et netværk oaf mere end 250.000 tilfredse elever spredt over hele kloden. Dette kursus træner dig i kernekoncepter og avancerede værktøjer og teknikker til at administrere data og administrere MySQL-databasen. Det inkluderer praktisk læring om begreber som MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions osv. Slut på uddannelsen vil du være i stand til at oprette og administrere din egen MySQL Database og administrere data.

Har du et spørgsmål til os? Nævn det i kommentarfeltet i denne "SQL GROUP BY" artikel, og vi vil vende tilbage til dig så hurtigt som muligt.


  1. PostgreSQL-indeks på JSON

  2. Sådan gemmer du IPv6-kompatibel adresse i en relationsdatabase

  3. Hvordan vi bruger databaser i vores hverdag

  4. Hvordan får man antallet af elementer i et JSON-array gemt som CLOB med Oracle 12c?