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 , utilizzato per raggruppare i dati in base a poche colonne o a condizioni. In questo articolo sull'istruzione SQL GROUP BY, illustrerò alcuni modi per utilizzare le istruzioni GROUP BY nella sequenza seguente:
Prima di passare agli esempi su come utilizzare la clausola GROUP BY, comprendiamo 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 per raggruppare il set di risultati in base alle condizioni.
Sintassi SQL GROUP BY
SELEZIONA Column1, Column2, ..., ColumnN FROM TableName WHERE Condizione 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, vediamo come implementare questa istruzione.
Esempi:
Per una migliore comprensione, ho suddiviso gli esempi nelle seguenti sezioni:
Prenderò in considerazione la seguente tabella per spiegarti gli esempi:
EmpID | EmpName | EmpEmail | Numero di telefono | Stipendio | Città |
uno | Nidhi | nidhi@sample.com | 9955669999 | 50.000 | Mumbai |
2 | Anay | anay@sample.com | 9875679861 | 55000 | Mettere |
3 | Rahul | rahul@sample.com | 9876543212 | 35000 | Delhi |
4 | Sonia | sonia@sample.com | 9876543234 | 35000 | Delhi |
5 | Akash | akash@sample.com | 9866865686 | 25000 | Mumbai |
Diamo un'occhiata a ciascuno di essi.
Usa SQL GROUP BY su una singola colonna
Esempio:
Scrivi una query per recuperare il numero di dipendenti in ogni città.
SELEZIONA COUNT (EmpID), City FROM Employees GROUP BY City
Produzione:
Vedrai il seguente output:
Conteggio (EmpID) | Città |
2 | Delhi |
2 | Mumbai |
uno | Mettere |
Utilizza SQL GROUP BY su più colonne
Esempio:
Scrivi una query per recuperare il numero di dipendenti con stipendi diversi in ogni città.
SELEZIONA città, stipendio, conteggio (*) DA Dipendenti GRUPPO PER città, stipendio
Produzione:
La tabella avrà i seguenti dati:
cosa è il token in java
Città | Stipendio | Contare(*) |
Delhi | 35000 | 2 |
Mumbai | 25000 | uno |
Mumbai | 50.000 | uno |
Mettere | 55000 | uno |
Usa SQL GROUP BY con ORDER BY
Quando usiamo l'istruzione SQL GROUP BY con l'estensione Clausola ORDER BY , i valori vengono ordinati in ordine crescente o decrescente.
Esempio:
Scrivi una query per recuperare il numero di dipendenti in ogni città, in ordine decrescente.
SELEZIONA COUNT (EmpID), Città DA Dipendenti GROUP BY City ORDER BY COUNT (EmpID) DESC
Produzione:
La tabella avrà i seguenti dati:
Conteggio (EmpID) | Città |
2 | Delhi |
2 | Mumbai |
uno | Mettere |
Usa 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
SELEZIONA COUNT (EmpID), City FROM Employees GROUP BY City HAVING STARY> 15000
Produzione:
Poiché tutti i record nella tabella Employee hanno uno stipendio> 15000, vedremo la seguente tabella come output:
Conteggio (EmpID) | Città |
2 | Delhi |
2 | Mumbai |
uno | Mettere |
Usa GROUP BY con JOINS
siamo SQL istruzioni utilizzate per combinare righe da due o più tabelle, in base a una colonna correlata tra quelle tabelle. È possibile utilizzare 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:
ProjectID | EmpID | Identificativo cliente | ProjectDate |
2. 3. 4. 5 | uno | 4 | 26/01/2019 |
9876 | 2 | 5 | 28/02/2019 |
3456 | 3 | 6 | 03-12-2019 |
Tabella clienti:
Identificativo cliente | Nome del cliente |
4 | Sanjana |
5 | Rohan |
6 | Arun |
Esempio
Scrivi una query per elencare il numero di progetti richiesti da ogni cliente:
SELEZIONA Clients.ClientName, COUNT (Projects.ProjectID) AS RequestedProjects FROM Projects LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID GROUP BY ClientName
Produzione:
La tabella avrà i seguenti dati:
Nome del cliente | RequestedProjects |
Arun | uno |
Rohan | uno |
Sanjana | uno |
Con questo, arriviamo alla fine dell'articolo SQL GROUP BY. Controlla questo da Edureka, una società di formazione online affidabile con una rete o f più di 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 domande per noi? Per favore menzionalo nella sezione commenti di questo articolo 'SQL GROUP BY' e ti risponderemo il prima possibile.