sql >> Databasteknik >  >> RDS >> Database

Vad är användningen av SQL GROUP BY-uttalande?

När en stor mängd data finns, ser vi ofta en möjlighet att manipulera data enligt våra krav. GROUP BY-sats är en sådan sats i SQL, som används för att gruppera data baserat på några kolumner eller på villkor. I den här artikeln om SQL GROUP BY-sats kommer jag att diskutera några sätt att använda GROUP BY-satser i följande ordning:

  1. GROUP BY-sats
  2. Syntax
  3. Exempel:
    • Använd GROUP BY på en kolumn
    • GROUP BY på flera kolumner
    • Använd GROUP BY med ORDER BY
    • GROUP BY med HAVING-sats
    • Använd GROUP BY med JOINS

Innan vi går vidare till exemplen på hur man använder GROUP BY-satsen, låt oss förstå vad som är GROUP BY i SQL och dess syntax.

SQL GROUP BY-sats

Detta uttalande används för att gruppera poster med samma värden. GROUP BY-satsen används ofta med aggregatfunktionerna för att gruppera resultaten efter en eller flera kolumner. Förutom detta används GROUP BY-satsen också med HAVING-satsen och JOINS för att gruppera resultatuppsättningen baserat på villkor.

SQL GROUP BY Syntax

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

Här kan du lägga till aggregatfunktionerna före kolumnnamnen, och även en HAVING-sats i slutet av satsen för att nämna ett villkor. Låt oss sedan i den här artikeln om SQL GROUP BY förstå hur man implementerar detta uttalande.

Exempel:

För din bättre förståelse har jag delat upp exemplen i följande avsnitt:

    • Använd GROUP BY på en kolumn
    • GROUP BY på flera kolumner
    • Använd GROUP BY med ORDER BY
    • GROUP BY med HAVING-sats
    • Använd GROUP BY med JOINS

Jag ska överväga följande tabell för att förklara exemplen för dig:

EmpID EmpName EmpE-post Telefonnummer Lön Stad

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

Låt oss ta en titt på var och en av dem.

Använd SQL GROUP BY på en kolumn

Exempel:

Skriv en fråga för att hämta antalet anställda i varje stad.

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

Utdata:

Du kommer att se följande utdata:

Count(EmpID) Stad

2

Delhi

2

Mumbai

1

Pune

Använd SQL GROUP BY på flera kolumner

Exempel:

Skriv en fråga för att få fram antalet anställda som har olika löner i varje stad.

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

Utdata:

Tabellen kommer att ha följande data:

Stad Lön Antal(*)

Delhi

35 000

2

Mumbai

25 000

1

Mumbai

50 000

1

Pune

55 000

1

Använd SQL GROUP BY med ORDER BY

När vi använder SQL GROUP BY-satsen med ORDER BY-satsen, sorteras värdena antingen i stigande eller fallande ordning.

Exempel:

Skriv en fråga för att hämta antalet anställda i varje stad, sorterade i fallande ordning.

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

Utdata:

Tabellen kommer att ha följande data:

Count(EmpID) Stad

2

Delhi

2

Mumbai

1

Pune

Använd SQL GROUP BY med HAVING-sats

SQL GROUP BY-satsen används med 'HAVING'-satsen för att nämna villkor för grupper. Eftersom vi inte kan använda de aggregerade funktionerna med WHERE-satsen, måste vi använda "HAVING"-satsen för att använda de aggregerade funktionerna med GROUP BY.

Exempel:

Skriv en fråga för att hämta antalet anställda i varje stad, med lön> 15 000

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

Utdata:

Eftersom alla poster i tabellen Anställd har en lön> 15 000, kommer vi att se följande tabell som utdata:

Count(EmpID) Stad

2

Delhi

2

Mumbai

1

Pune

Använd GROUP BY med JOINS

JOINS är SQL-satser som används för att kombinera rader från två eller flera tabeller, baserat på en relaterad kolumn mellan dessa tabeller. Vi kan använda SQL GROUP BY-satsen för att gruppera resultatuppsättningen baserat på en kolumn/kolumner. Överväg nedanstående tabeller för att exekvera JOIN-satserna med SQL GROUP BY-satsen.

Projekttabell:

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

Kundtabell:

Klient-ID Kundnamn

4

Sanjana

5

Rohan

6

Arun

Exempel

Skriv en fråga för att lista antalet projekt som efterfrågas av varje kund:

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

Utdata:

Tabellen kommer att ha följande data:

Kundnamn Begärda projekt

Arun

1

Rohan

1

Sanjana

1

Med det kommer vi till slutet av SQL GROUP BY-artikeln. Kolla in det här MySQL DBA-certifieringsutbildning av Edureka, ett pålitligt onlineutbildningsföretag med ett nätverk of mer än 250 000 nöjda elever spridda över hela världen. Den här kursen utbildar dig i kärnkoncepten och avancerade verktyg och tekniker för att hantera data och administrera MySQL-databasen. Det inkluderar praktisk inlärning av koncept som MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, etc. I slutet av utbildningen kommer du att kunna skapa och administrera din egen MySQL-databas och hantera data.

Har du en fråga till oss? Vänligen nämn det i kommentarsfältet i denna "SQL GROUP BY"-artikel så återkommer vi till dig så snart som möjligt.


  1. Hur man kontrollerar MySQL-databasstorlek i Linux

  2. Skapa en pivottabell med PostgreSQL

  3. Lägg till en kolumn med ett standardvärde till en befintlig tabell i SQL Server

  4. Välja data till en Postgres-array