Quan hi ha una gran quantitat de dades, sovint veiem la possibilitat de manipular les dades segons els nostres requisits. La clàusula GROUP BY és una d’aquestes , que s’utilitza per agrupar les dades en funció de poques columnes o de condicions. En aquest article sobre la declaració GROUP GROUP SQL, parlaré d'algunes maneres d'utilitzar les instruccions GROUP BY en la següent seqüència:
Abans de passar als exemples sobre com utilitzar la clàusula GROUP BY, entenem què és GROUP BY a SQL i la seva sintaxi.
Instrucció SQL GROUP BY
Aquesta afirmació s’utilitza per agrupar registres que tinguin els mateixos valors. La instrucció GROUP BY s'utilitza sovint amb les funcions agregades per agrupar els resultats per una o més columnes.A part d'això, la clàusula GROUP BY també s'utilitza amb la clàusula HAVING i per agrupar el conjunt de resultats en funció de les condicions.
SQL GROUP PER Sintaxi
SELECCIONA Columna1, Columna2, ..., ColumnaN DE Nom de taula ON Condició AGRUPA PER Nom (s) de columna ORDRE PER Nom (s)
Aquí podeu afegir les funcions agregades abans dels noms de columna i també una clàusula HAVING al final de la sentència per mencionar una condició.A continuació, en aquest article sobre SQL GROUP BY, entenem com implementar aquesta afirmació.
Exemples:
Per a una millor comprensió, he dividit els exemples en les seccions següents:
Vaig a considerar la taula següent per explicar-vos els exemples:
EmpID | EmpName | EmpEmail | Número de telèfon | Sou | ciutat |
1 | Nidhi | nidhi@sample.com | 9955669999 | 50000 | Bombai |
2 | Anay | anay@sample.com | 9875679861 | 55000 | Posa |
3 | Rahul | rahul@sample.com | 9876543212 | 35000 | Delhi algorisme de classificació c ++ |
4 | Sonia | sonia@sample.com | 9876543234 | 35000 | Delhi |
5 | Akash | akash@sample.com | 9866865686 | 25000 | Bombai |
Fem una ullada a cadascun d’ells.
Utilitzeu SQL GROUP BY en una sola columna
Exemple:
Escriviu una consulta per recuperar el nombre d’empleats de cada ciutat.
SELECCIONA EL COMPTE (EmpID), ciutat DE EMPLEATS GRUP PER CIUTAT
Sortida:
Veureu la següent sortida:
Recompte (EmpID) | ciutat |
2 | Delhi |
2 | Bombai |
1 | Posa |
Utilitzeu SQL GROUP BY en diverses columnes
Exemple:
Escriviu una consulta per recuperar el nombre d’empleats que tenen sous diferents a cada ciutat.
SELECCIONA Ciutat, salari, recompte (*) D'empleats GRUP PER PORTA, salari
Sortida:
La taula tindrà les dades següents:
ciutat | Sou | Recompte (*) |
Delhi | 35000 | 2 |
Bombai | 25000 | 1 |
Bombai | 50000 | 1 |
Posa | 55000 com desplegar l'aplicació Java a aws | 1 |
Utilitzeu SQL GROUP BY amb ORDER BY
Quan fem servir la sentència SQL GROUP BY amb el fitxer Clàusula ORDER BY , els valors s'ordenen en ordre ascendent o descendent.
Exemple:
Escriviu una consulta per recuperar el nombre d'empleats de cada ciutat, ordenats en ordre descendent.
SELECCIONA EL COMPTE (EmpID), Ciutat DE Els empleats GRUP PER CIUTAT ORDRE PER COMTE (EmpID) DESC
Sortida:
La taula tindrà les dades següents:
Recompte (EmpID) | ciutat |
2 | Delhi |
2 | Bombai |
1 | Posa |
Utilitzeu la clàusula SQL GROUP BY amb HAVING
La sentència SQL GROUP BY s’utilitza amb la clàusula ‘HAVING’ per mencionar les condicions dels grups.A més, com que no podem utilitzar les funcions agregades amb la clàusula WHERE, hem d’utilitzar la clàusula ‘HAVING’ per utilitzar les funcions agregades amb GROUP BY.
Exemple:
Escriviu una consulta per recuperar el nombre d’empleats de cada ciutat, amb un sou> 15.000
SELECCIONA EL COMPTE (EmpID), ciutat DE GRUP D'empleats PER CIUTAT AMB SALARI> 15000
Sortida:
Com que tots els registres de la taula d'empleats tenen un salari> 15.000, veurem la següent taula com a resultat:
Recompte (EmpID) | ciutat |
2 | Delhi |
2 | Bombai |
1 | Posa |
Utilitzeu GROUP BY amb JOINS
són SQL instruccions que s’utilitzen per combinar files de dues o més taules, basades en una columna relacionada entre aquestes taules. Podem utilitzar la sentència SQL GROUP BY per agrupar el conjunt de resultats en funció d’una columna o columnes.Considereu les taules següents per executar les sentències JOIN amb la clàusula SQL GROUP BY.
Taula de projectes:
ProjectID | EmpID | ID client | Data del projecte |
2345 | 1 | 4 | 2019.01.26 |
9876 | 2 | 5 | 2019.02.28 |
3456 | 3 | 6 | 2019.03.12 |
Taula de clients:
ID client | Nom del client |
4 | Sanjana |
5 | Rohan |
6 | Arun |
Exemple
Escriviu una consulta per llistar el nombre de projectes sol·licitats per cada client:
SELECCIONA Clients.ClientName, COUNT (Projects.ProjectID) AS RequestedProjects FROM Projects LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID GRUP PER NOM DEL CLIENT
Sortida:
La taula tindrà les dades següents:
Nom del client | RequestedProjects |
Arun | 1 |
Rohan | 1 |
Sanjana | 1 |
Amb això, arribem al final de l’article SQL GROUP BY. Mireu això per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa o f més de 250.000 estudiants satisfets repartits per tot el món. Aquest curs us capacita sobre els conceptes bàsics i les eines i tècniques avançades per gestionar les dades i administrar la base de dades MySQL. Inclou aprenentatge pràctic sobre conceptes com MySQL Workbench, MySQL Server, Modelització de dades, MySQL Connector, Disseny de bases de dades, Línia d’ordres MySQL, Funcions MySQL, etc. gestionar dades.
Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest article de “SQL GROUP BY” i us respondrem el més aviat possible.