Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Clause GROUP BY | Grouping
SQL Intermédiaire
course content

Contenu du cours

SQL Intermédiaire

SQL Intermédiaire

1. Grouping
2. Sous-Requêtes Imbriquées
3. Joindre des Tables
4. DDL et DML en SQL

book
Clause GROUP BY

Bienvenue dans le cours SQL Intermédiaire !

Dans la première section, nous allons explorer comment nous pouvons grouper et agréger des données dans nos tables.

Comprenons ce que signifie « le regroupement de données » en utilisant un exemple simple d'une table d'employés :

Regroupement des données

Nous avons pour tâche de déterminer le nombre d'employés dans chaque département. Pour ce faire, nous allons regrouper les données par la colonne department et utiliser l'agrégation avec la fonction COUNT(*).

Voici à quoi ressemblera l'implémentation :

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
copy

Ainsi, comme vous pouvez le voir, la syntaxe pour regrouper les données ressemble à ceci:

Note

AGG_FUNC signifie des fonctions d'agrégation telles que MAX, MIN, COUNT, etc.

Cette syntaxe existe pour trouver certaines valeurs en utilisant des fonctions d'agrégation dans des colonnes spécifiques.

Prenons un autre exemple : nous avons été chargés de trouver le département avec le salaire moyen le plus élevé.

Pour extraire de telles données, nous devons regrouper les données par la colonne department puis utiliser la fonction AVG() pour calculer le salaire moyen:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
copy

Dans cette partie de la section, nous allons travailler avec la base de données du système de métro de Montréal, qui contient la table metro_travel_time.

Cette table contiendra des informations sur la ligne de station(line_name), son nom(station_name), et la durée nécessaire pour qu'un train passe d'une station à l'autre(time_to_next_station).

Voici à quoi ressemble cette table et l’aperçu des données :

Comme vous pouvez le constater, il ne s’agit pas d’une table complexe. Réfléchissons à l’endroit où nous pourrions utiliser le regroupement ici.

L’option la plus évidente est le regroupement par les couleurs des lignes de métro. Cela signifie que nous pouvons agréger les données, en les regroupant par la couleur de la ligne de métro.

Alias

Dans les exercices, vous utiliserez souvent un concept appelé un alias. Un alias est essentiellement un « surnom » pour une colonne que vous récupérez avec une instruction SELECT. Il est spécifié en utilisant la syntaxe suivante:

Un alias n'affecte que la manière dont la colonne apparaît dans le résultat.

Par exemple, au lieu de MAX(time), la colonne pourrait être appelée max_time si vous lui attribuez cet alias. Cela rend la sortie plus lisible et claire.

Tâche

Swipe to start coding

Votre tâche consiste à trouver le temps le plus long avant la prochaine station sur chaque ligne. Cela nous permettra de déterminer le temps de trajet le plus long entre les stations pour chaque ligne de métro. Pour ce faire, utilisez la fonction MAX() et renommez-la en max_time, en regroupant les données par la colonne line_name.

Instructions brèves

  • Récupérez la colonne line_name et la valeur maximale de la colonne time_to_next_station.
  • Ajoutez l'alias max_time pour la valeur maximale.
  • Regroupez les données par la colonne line_name.

Une fois cette tâche accomplie, cliquez sur le situé en dessous du code pour vérifier votre solution.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 1
toggle bottom row

book
Clause GROUP BY

Bienvenue dans le cours SQL Intermédiaire !

Dans la première section, nous allons explorer comment nous pouvons grouper et agréger des données dans nos tables.

Comprenons ce que signifie « le regroupement de données » en utilisant un exemple simple d'une table d'employés :

Regroupement des données

Nous avons pour tâche de déterminer le nombre d'employés dans chaque département. Pour ce faire, nous allons regrouper les données par la colonne department et utiliser l'agrégation avec la fonction COUNT(*).

Voici à quoi ressemblera l'implémentation :

123
SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
copy

Ainsi, comme vous pouvez le voir, la syntaxe pour regrouper les données ressemble à ceci:

Note

AGG_FUNC signifie des fonctions d'agrégation telles que MAX, MIN, COUNT, etc.

Cette syntaxe existe pour trouver certaines valeurs en utilisant des fonctions d'agrégation dans des colonnes spécifiques.

Prenons un autre exemple : nous avons été chargés de trouver le département avec le salaire moyen le plus élevé.

Pour extraire de telles données, nous devons regrouper les données par la colonne department puis utiliser la fonction AVG() pour calculer le salaire moyen:

123
SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
copy

Dans cette partie de la section, nous allons travailler avec la base de données du système de métro de Montréal, qui contient la table metro_travel_time.

Cette table contiendra des informations sur la ligne de station(line_name), son nom(station_name), et la durée nécessaire pour qu'un train passe d'une station à l'autre(time_to_next_station).

Voici à quoi ressemble cette table et l’aperçu des données :

Comme vous pouvez le constater, il ne s’agit pas d’une table complexe. Réfléchissons à l’endroit où nous pourrions utiliser le regroupement ici.

L’option la plus évidente est le regroupement par les couleurs des lignes de métro. Cela signifie que nous pouvons agréger les données, en les regroupant par la couleur de la ligne de métro.

Alias

Dans les exercices, vous utiliserez souvent un concept appelé un alias. Un alias est essentiellement un « surnom » pour une colonne que vous récupérez avec une instruction SELECT. Il est spécifié en utilisant la syntaxe suivante:

Un alias n'affecte que la manière dont la colonne apparaît dans le résultat.

Par exemple, au lieu de MAX(time), la colonne pourrait être appelée max_time si vous lui attribuez cet alias. Cela rend la sortie plus lisible et claire.

Tâche

Swipe to start coding

Votre tâche consiste à trouver le temps le plus long avant la prochaine station sur chaque ligne. Cela nous permettra de déterminer le temps de trajet le plus long entre les stations pour chaque ligne de métro. Pour ce faire, utilisez la fonction MAX() et renommez-la en max_time, en regroupant les données par la colonne line_name.

Instructions brèves

  • Récupérez la colonne line_name et la valeur maximale de la colonne time_to_next_station.
  • Ajoutez l'alias max_time pour la valeur maximale.
  • Regroupez les données par la colonne line_name.

Une fois cette tâche accomplie, cliquez sur le situé en dessous du code pour vérifier votre solution.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 1
Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
We're sorry to hear that something went wrong. What happened?
some-alt