La clause HAVING filtre les résultats groupés ou d'agrégation.
Syntaxe
HAVING bool_expression
La clause HAVING filtre les résultats d'agrégation, tandis que la clause WHERE filtre les données brutes avant l'agrégation.
L'évaluation de la clause HAVING intervient après celle de la clause GROUP BY et avant celle de la clause ORDER BY.
Paramètres
|
Paramètre |
Description |
|
bool_expression |
Expression booléenne. |
Exemples
-
Exemple 1 : renvoyer les URI de requête dont la durée moyenne est supérieure à 40 secondes.
-
Instruction de requête
* | SELECT avg(request_time) AS avg_time, request_uri GROUP BY request_uri HAVING avg(request_time) > 40 Résultat de la requête et de l'analyse : le résultat liste les valeurs avg_time et request_uri pour les URI dont la durée moyenne de requête dépasse 40 secondes.
-
-
Exemple 2 : interroger les journaux de service pour identifier les projets dont la latence d'écriture est supérieure à 1 000 microsecondes.
-
Instruction de requête
* | SELECT avg(latency) AS avg_latency, Project GROUP BY Project HAVING avg_latency > 1000 Résultat de la requête et de l'analyse : la requête renvoie une ligne indiquant une valeur avg_latency de
1569.909090909091pour le nom de Project correspondant, ce qui confirme que la latence moyenne est supérieure à 1 000.
-