La clause HAVING dans MariaDB est utilisée pour filtrer les résultats retournés par la clause GROUP BY. Elle fonctionne de la même manière que la clause WHERE, mais s’applique après que les données ont été regroupées.
Voici comment l’utiliser :
```
SELECT colonne1, colonne2
FROM table
GROUP BY colonne1, colonne2
HAVING condition;
```
Dans cet exemple :
- `colonne1, colonne2` : sont les colonnes dont vous souhaitez récupérer les valeurs. Vous pouvez en inclure autant que vous le souhaitez, séparées par des virgules.
- `table` : est le nom de la table à partir de laquelle vous voulez récupérer les données.
- `GROUP BY colonne1, colonne2` : regroupe les résultats par les valeurs uniques dans `colonne1` et `colonne2`.
- `HAVING condition` : est une condition qui doit être respectée par les groupes de résultats pour qu’ils soient inclus dans la sortie finale. `condition` peut être une comparaison, comme “colonne3 > 5”, ou une fonction d’agrégation, comme “AVG > 3”.
Le principal avantage de la clause HAVING est qu’elle vous permet d’appliquer des conditions à des fonctions d’agrégation, ce qui n’est pas possible avec WHERE. Par exemple, vous pouvez utiliser HAVING pour filtrer les groupes dont la somme totale dans une certaine colonne dépasse une certaine valeur.
Notez que, contrairement à WHERE, HAVING peut fonctionner sur des colonnes qui ne sont pas sélectionnées dans la requête SQL.