sql >> Database >  >> RDS >> Database

Wat is het gebruik van SQL GROUP BY-instructie?

Als er een grote hoeveelheid gegevens aanwezig is, zien we vaak een mogelijkheid om gegevens te manipuleren volgens onze vereisten. De GROUP BY-clausule is zo'n instructie in SQL, die wordt gebruikt om de gegevens te groeperen op basis van enkele kolommen of op voorwaarden. In dit artikel over SQL GROUP BY-statement, bespreek ik een paar manieren om de GROUP BY-statements in de volgende volgorde te gebruiken:

  1. GROUP BY-instructie
  2. Syntaxis
  3. Voorbeelden:
    • Gebruik GROUP BY voor één kolom
    • GROUP BY op meerdere kolommen
    • Gebruik GROUP BY met ORDER BY
    • GROUP BY met HAVING-clausule
    • Gebruik GROUP BY met JOINS

Laat ons, voordat we verder gaan met de voorbeelden over het gebruik van de GROUP BY-clausule, begrijpen wat GROUP BY is in SQL en de syntaxis ervan.

SQL GROUP BY-instructie

Deze instructie wordt gebruikt om records met dezelfde waarden te groeperen. De GROUP BY-instructie wordt vaak gebruikt met de aggregatiefuncties om de resultaten te groeperen op een of meer kolommen. Afgezien hiervan wordt de GROUP BY-clausule ook gebruikt met de HAVING-clausule en JOINS om de resultaatset te groeperen op basis van voorwaarden.

SQL GROEP OP syntaxis

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

Hier kun je de aggregatiefuncties voor de kolomnamen toevoegen, en ook een HAVING-clausule aan het einde van de instructie om een ​​voorwaarde te vermelden. Laten we vervolgens in dit artikel over SQL GROUP BY begrijpen hoe we deze verklaring kunnen implementeren.

Voorbeelden:

Voor een beter begrip heb ik de voorbeelden in de volgende secties verdeeld:

    • Gebruik GROUP BY voor één kolom
    • GROUP BY op meerdere kolommen
    • Gebruik GROUP BY met ORDER BY
    • GROUP BY met HAVING-clausule
    • Gebruik GROUP BY met JOINS

Ik ga de volgende tabel bekijken om u de voorbeelden uit te leggen:

EmpID EmpName EmpEmail Telefoonnummer Salaris Stad

1

Nidhi

[email protected]

9955669999

50000

Mumbai

2

Anay

[email protected]

9875679861

55000

Pune

3

Rahul

[email protected]

9876543212

35000

Delhi

4

Sonia

[email protected]

9876543234

35000

Delhi

5

Akash

[email protected]

9866865686

25000

Mumbai

Laten we ze allemaal eens bekijken.

Gebruik SQL GROUP BY op één kolom

Voorbeeld:

Schrijf een zoekopdracht om het aantal werknemers in elke stad op te halen.

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

Uitvoer:

U ziet de volgende uitvoer:

Count(EmpID) Stad

2

Delhi

2

Mumbai

1

Pune

Gebruik SQL GROUP BY op meerdere kolommen

Voorbeeld:

Schrijf een zoekopdracht om het aantal werknemers op te halen met verschillende salarissen in elke stad.

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

Uitvoer:

De tabel heeft de volgende gegevens:

Stad Salaris Count(*)

Delhi

35000

2

Mumbai

25000

1

Mumbai

50000

1

Pune

55000

1

Gebruik SQL GROUP BY met ORDER BY

Als we de SQL GROUP BY-instructie gebruiken met de ORDER BY-clausule, worden de waarden in oplopende of aflopende volgorde gesorteerd.

Voorbeeld:

Schrijf een zoekopdracht om het aantal werknemers in elke stad op te halen, gesorteerd in aflopende volgorde.

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

Uitvoer:

De tabel heeft de volgende gegevens:

Count(EmpID) Stad

2

Delhi

2

Mumbai

1

Pune

Gebruik SQL GROUP BY met HAVING-clausule

De SQL GROUP BY-instructie wordt gebruikt met de 'HAVING'-clausule om voorwaarden op groepen te vermelden. Omdat we de aggregatiefuncties niet kunnen gebruiken met de WHERE-clausule, moeten we ook de 'HAVING'-clausule gebruiken om de aggregatiefuncties te gebruiken met GROUP BY.

Voorbeeld:

Schrijf een zoekopdracht om het aantal werknemers in elke stad op te halen, met een salaris> 15000

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

Uitvoer:

Aangezien alle records in de tabel Werknemers een salaris> 15000 hebben, zien we de volgende tabel als uitvoer:

Count(EmpID) Stad

2

Delhi

2

Mumbai

1

Pune

Gebruik GROUP BY met JOINS

JOINS zijn SQL-instructies die worden gebruikt om rijen uit twee of meer tabellen te combineren, gebaseerd op een gerelateerde kolom tussen die tabellen. We kunnen de SQL GROUP BY-instructie gebruiken om de resultatenset te groeperen op basis van een kolom/kolommen. Bekijk de onderstaande tabellen om de JOIN-instructies met de SQL GROUP BY-clausule uit te voeren.

Projectentabel:

ProjectID EmpID ClientID ProjectDatum
2345 1 4 26-01-2019
9876 2 5 28-02-2019
3456 3 6 03-12-2019

Klantentabel:

ClientID ClientName

4

Sanjana

5

Rohan

6

Arun

Voorbeeld

Schrijf een zoekopdracht om het aantal projecten op te sommen dat door elke klant is aangevraagd:

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

Uitvoer:

De tabel heeft de volgende gegevens:

Klantnaam Aangevraagde projecten

Arun

1

Rohan

1

Sanjana

1

Hiermee komen we aan het einde van het artikel SQL GROUP BY. Bekijk dit MySQL DBA-certificeringstraining door Edureka, een vertrouwd online leerbedrijf met een netwerk of meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. Deze cursus leidt u op in de kernconcepten en geavanceerde tools en technieken om gegevens te beheren en de MySQL-database te beheren. Het omvat hands-on leren over concepten zoals MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, etc. Aan het einde van de training ben je in staat om je eigen MySQL Database te creëren en te beheren en gegevens beheren.

Heeft u een vraag voor ons? Vermeld dit in het opmerkingengedeelte van dit "SQL GROUP BY"-artikel en we nemen zo snel mogelijk contact met u op.


  1. 3 dingen die u moet weten over databases

  2. MySQL:Hoe kan ik het MySQL-rootwachtwoord opnieuw instellen of wijzigen?

  3. DATETIME2FROMPARTS() Voorbeelden in SQL Server (T-SQL)

  4. Entity Framework Code First met SQL Server-synoniemen