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

Qual è l'uso dell'istruzione SQL GROUP BY?

Quando è presente una grande quantità di dati, spesso vediamo la possibilità di manipolare i dati in base alle nostre esigenze. La clausola GROUP BY è una di queste istruzioni in SQL, utilizzata per raggruppare i dati in base a poche colonne oa condizioni. In questo articolo sull'istruzione SQL GROUP BY, discuterò alcuni modi per utilizzare le istruzioni GROUP BY nella seguente sequenza:

  1. Dichiarazione GROUP BY
  2. Sintassi
  3. Esempi:
    • Utilizza GROUP BY su una singola colonna
    • GRUPPO PER su più colonne
    • Utilizzare GROUP BY con ORDER BY
    • GRUPPO PER con clausola HAVING
    • Utilizza GROUP BY con JOINS

Prima di passare agli esempi su come utilizzare la clausola GROUP BY, cerchiamo di capire cos'è GROUP BY in SQL e la sua sintassi.

Istruzione SQL GROUP BY

Questa istruzione viene utilizzata per raggruppare record con gli stessi valori. L'istruzione GROUP BY viene spesso utilizzata con le funzioni di aggregazione per raggruppare i risultati in base a una o più colonne. Oltre a questo, la clausola GROUP BY viene utilizzata anche con la clausola HAVING e JOINS per raggruppare il set di risultati in base alle condizioni.

SQL GROUP BY sintassi

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

Qui puoi aggiungere le funzioni aggregate prima dei nomi delle colonne e anche una clausola HAVING alla fine dell'istruzione per menzionare una condizione. Successivamente, in questo articolo su SQL GROUP BY, cerchiamo di capire come implementare questa affermazione.

Esempi:

Per una migliore comprensione, ho diviso gli esempi nelle seguenti sezioni:

    • Utilizza GROUP BY su una singola colonna
    • GRUPPO PER su più colonne
    • Utilizzare GROUP BY con ORDER BY
    • GRUPPO PER con clausola HAVING
    • Utilizza GROUP BY con JOINS

Prenderò in considerazione la seguente tabella per spiegarti gli esempi:

EmpID EmpName EmpEmail Numero di telefono Stipendio Città

1

Nidhi

[email protected]

9955669999

50000

Mumbai

2

[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

Diamo un'occhiata a ciascuno di essi.

Utilizza SQL GROUP BY su una singola colonna

Esempio:

Scrivi una query per recuperare il numero di dipendenti in ogni città.

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

Risultato:

Vedrai il seguente output:

Count(EmpID) Città

2

Delhi

2

Mumbai

1

Pune

Utilizza SQL GROUP BY su più colonne

Esempio:

Scrivi una query per recuperare il numero di dipendenti con stipendi diversi in ogni città.

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

Risultato:

La tabella conterrà i seguenti dati:

Città Stipendio Conte(*)

Delhi

35000

2

Mumbai

25000

1

Mumbai

50000

1

Pune

55000

1

Utilizza SQL GROUP BY con ORDER BY

Quando utilizziamo l'istruzione SQL GROUP BY con la clausola ORDER BY, i valori vengono ordinati in ordine crescente o decrescente.

Esempio:

Scrivi una query per recuperare il numero di dipendenti in ciascuna città, in ordine decrescente.

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

Risultato:

La tabella conterrà i seguenti dati:

Count(EmpID) Città

2

Delhi

2

Mumbai

1

Pune

Utilizza SQL GROUP BY con la clausola HAVING

L'istruzione SQL GROUP BY viene utilizzata con la clausola 'HAVING' per menzionare le condizioni sui gruppi. Inoltre, poiché non possiamo utilizzare le funzioni aggregate con la clausola WHERE, dobbiamo utilizzare la clausola "HAVING" per utilizzare le funzioni aggregate con GROUP BY.

Esempio:

Scrivi una query per recuperare il numero di dipendenti in ogni città, con stipendio> 15000

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

Risultato:

Poiché tutti i record nella tabella Impiegato hanno uno stipendio> 15000, vedremo come output la seguente tabella:

Count(EmpID) Città

2

Delhi

2

Mumbai

1

Pune

Utilizza GROUP BY con JOINS

JOINS sono istruzioni SQL utilizzate per combinare righe di due o più tabelle, in base a una colonna correlata tra quelle tabelle. Possiamo usare l'istruzione SQL GROUP BY per raggruppare il set di risultati in base a una colonna/colonne. Considera le tabelle seguenti per eseguire le istruzioni JOIN con la clausola SQL GROUP BY.

Tabella Progetti:

ID progetto EmpID ClientID Data progetto
2345 1 4 26-01-2019
9876 2 5 28-02-2019
3456 3 6 12-03-2019

Tabella Clienti:

ClientID ClientName

4

Sanjana

5

Rohan

6

Arun

Esempio

Scrivi una query per elencare il numero di progetti richiesti da ciascun cliente:

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

Risultato:

La tabella conterrà i seguenti dati:

ClientName Progetti richiesti

Arun

1

Rohan

1

Sanjana

1

Con questo, arriviamo alla fine dell'articolo SQL GROUP BY. Dai un'occhiata a questo Formazione per la certificazione DBA MySQL di Edureka, una società di formazione online affidabile con una rete di di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Questo corso ti insegna i concetti fondamentali e gli strumenti e le tecniche avanzati per gestire i dati e amministrare il database MySQL. Include l'apprendimento pratico su concetti come MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, ecc. Alla fine della formazione sarai in grado di creare e amministrare il tuo database MySQL e gestire i dati.

Hai una domanda per noi? Si prega di menzionarlo nella sezione commenti di questo articolo "SQL GROUP BY" e ti risponderemo il prima possibile.