Agréger les données

Voir la vidéo
Description Sommaire

Nous allons voir dans ce chapitre comment agréger les données afin d'obtenir des informations à partir de plusieurs lignes. Pour cela on pourra se reposer sur des fonctions d'agrégation comme COUNT(), SUM() ou AVG().

GROUP BY

Ces fonctions peuvent être utilisé avec la commande GROUP BY qui permet de grouper les éléments en fonction d'une ou plusieurs colonnes.

SELECT COUNT(id), duration 
FROM recipes
GROUP BY duration;

Lors d'une agrégation on ne pourra sélectionner que les colonnes qui sont dans le GROUP BY et celles qui utilisent les fonctions d'agrégation.

DISTINCT

En plus de la fonction d'agrégation il est aussi possible d'éviter les doublons à l'aide de l'instruction DISTINCT dans les requêtes SELECT.

SELECT DISTINCT r.id, r.title, r.slug
FROM recipes
JOIN categories_recipes cr ON cr.recipe_id = r.id 
JOIN categories c ON c.id = cr.category_id
WHERE c.title = 'Dessert';

Cela pourra s'avérer utile lorsque l'on utilisera les jointures qui ont tendance à générer beaucoup de lignes en double.

Publié
Technologies utilisées
Auteur :
Grafikart
Partager