Lorsqu'une grande quantité de données est présente, nous voyons souvent une possibilité de manipuler les données en fonction de nos besoins. La clause GROUP BY en est une , utilisé pour regrouper les données sur quelques colonnes ou sur des conditions. Dans cet article sur l'instruction SQL GROUP BY, je vais discuter de quelques façons d'utiliser les instructions GROUP BY dans l'ordre suivant:
Avant de passer aux exemples d'utilisation de la clause GROUP BY, comprenons ce qu'est GROUP BY en SQL et sa syntaxe.
Instruction SQL GROUP BY
Cette instruction est utilisée pour regrouper les enregistrements ayant les mêmes valeurs. L'instruction GROUP BY est souvent utilisée avec les fonctions d'agrégation pour regrouper les résultats par une ou plusieurs colonnes.En dehors de cela, la clause GROUP BY est également utilisée avec la clause HAVING et pour regrouper l'ensemble de résultats en fonction des conditions.
Syntaxe SQL GROUP BY
SELECT Column1, Column2, ..., ColumnN FROM TableName WHERE Condition GROUP BY ColumnName (s) ORDER BY ColumnName (s)
Ici, vous pouvez ajouter les fonctions d'agrégation avant les noms de colonne, ainsi qu'une clause HAVING à la fin de l'instruction pour mentionner une condition.Ensuite, dans cet article sur SQL GROUP BY, voyons comment implémenter cette instruction.
Exemples:
Pour votre meilleure compréhension, j'ai divisé les exemples dans les sections suivantes:
Je vais considérer le tableau suivant pour vous expliquer les exemples:
EmpID | EmpName | EmpEmail | Numéro de téléphone | Un salaire | Ville |
un | Nidhi | nidhi@sample.com | 9955669999 | 50 000 | Bombay |
2 | Anay | anay@sample.com | 9875679861 | 55 000 | Mettre |
3 | Rahul | rahul@sample.com | 9876543212 | 35 000 | Delhi |
4 | Sonia | sonia@sample.com | 9876543234 | 35 000 | Delhi |
5 | Akash | akash@sample.com | 9866865686 | 25 000 | Bombay |
Jetons un coup d'œil à chacun d'eux.
Utilisez SQL GROUP BY sur une seule colonne
Exemple:
Écrivez une requête pour récupérer le nombre d'employés dans chaque ville.
SELECT COUNT (EmpID), City FROM Employés GROUP BY City
Production:
Vous verrez la sortie suivante:
Compte (EmpID) | Ville |
2 | Delhi |
2 | Bombay |
un | Mettre |
Utilisez SQL GROUP BY sur plusieurs colonnes
Exemple:
Écrivez une requête pour récupérer le nombre d'employés ayant des salaires différents dans chaque ville.
SELECT Ville, Salaire, Nombre (*) FROM Employés GROUP BY Ville, Salaire
Production:
Le tableau contiendra les données suivantes:
Ville | Un salaire | Compter(*) |
Delhi | 35 000 | 2 |
Bombay | 25 000 | un |
Bombay | 50 000 | un |
Mettre | 55 000 | un |
Utilisez SQL GROUP BY avec ORDER BY
Lorsque nous utilisons l'instruction SQL GROUP BY avec le Clause ORDER BY , les valeurs sont triées par ordre croissant ou décroissant.
Exemple:
Écrivez une requête pour récupérer le nombre d'employés dans chaque ville, triés par ordre décroissant.
SELECT COUNT (EmpID), City FROM Employés GROUP BY City ORDER BY COUNT (EmpID) DESC
Production:
Le tableau contiendra les données suivantes:
Compte (EmpID) | Ville |
2 | Delhi |
2 | Bombay |
un | Mettre que sont les jetons en java |
Utiliser SQL GROUP BY avec la clause HAVING
L'instruction SQL GROUP BY est utilisée avec la clause «HAVING» pour mentionner les conditions sur les groupes.De plus, comme nous ne pouvons pas utiliser les fonctions d’agrégation avec la clause WHERE, nous devons utiliser la clause ‘HAVING’ pour utiliser les fonctions d’agrégation avec GROUP BY.
Exemple:
Écrivez une requête pour récupérer le nombre d'employés dans chaque ville, ayant un salaire> 15000
SELECT COUNT (EmpID), City FROM Employés GROUPE PAR Ville AYANT UN SALAIRE> 15000
Production:
Étant donné que tous les enregistrements de la table Employee ont un salaire> 15000, nous verrons le tableau suivant en sortie:
Compte (EmpID) | Ville |
2 | Delhi |
2 | Bombay |
un | Mettre |
Utilisez GROUP BY avec JOINS
sont SQL instructions utilisées pour combiner des lignes de deux tables ou plus, en fonction d'une colonne liée entre ces tables. Nous pouvons utiliser l'instruction SQL GROUP BY pour regrouper le jeu de résultats en fonction d'une ou plusieurs colonnes.Considérez les tableaux ci-dessous pour exécuter les instructions JOIN avec la clause SQL GROUP BY.
Tableau des projets:
ProjectID | EmpID | Identité du client | ProjectDate |
2. 3. 4. 5 | un | 4 | 26/01/2019 |
9876 | 2 | 5 | 28-02-2019 |
3456 | 3 | 6 | 03-12-2019 |
Clients Table:
Identité du client | Nom du client |
4 | Sanjana |
5 | Rohan |
6 | Arun |
Exemple
Écrivez une requête pour lister le nombre de projets demandés par chaque client:
SELECT Clients.ClientName, COUNT (Projects.ProjectID) AS RequestedProjects FROM Projects GAUCHE JOIN Clients ON Projects.ProjectID = Clients.ProjectID GROUP BY ClientName
Production:
Le tableau contiendra les données suivantes:
Nom du client | Projets demandés |
Arun | un |
Rohan | un |
Sanjana | un |
Avec cela, nous arrivons à la fin de l'article SQL GROUP BY. Regarde ça par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau ou f plus de 250 000 apprenants satisfaits répartis dans le monde entier. Ce cours vous forme aux concepts de base et aux outils et techniques avancés pour gérer les données et administrer la base de données MySQL. Il comprend un apprentissage pratique sur des concepts tels que MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, etc. Fin de la formation, vous pourrez créer et administrer votre propre base de données MySQL et gérer les données.
Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cet article «SQL GROUP BY» et nous vous répondrons dans les plus brefs délais.