Clause HAVING

Utilisez la clause HAVING dans une requête pour appliquer plus de filtres à des données spécifiques en appliquant des filtres aux résultats après la clause GROUP BY.

La clause HAVING suit la clause GROUP BY.

Vous pouvez appliquer les filtres suivants lorsque vous utilisez une clause HAVING dans une requête :

  • signe égal (=)
  • Non égal au symbole (<>)
  • Symbole inférieur à (<)
  • Symbole supérieur à (>)
  • Symbole inférieur ou égal à (<=)
  • Symbole supérieur ou égal à (>=)
  • BETWEEN entre deux valeurs, par exemple, (64 ET 512)
  • LIKE correspondance sensible à la casse
  • ILIKE correspondance sans tenir compte de la casse
  • SUM/AVG total ou valeur moyennes
  • MAX/MIN Valeurs minimales ou maximales

Exemples de clauses HAVING

L'exemple de requête suivant affiche les résultats pour les utilisateurs qui ont déclenché des événements VPN à partir de plus de quatre adresses IP (HAVING 'Count of Source IPs' > 4) au cours des dernières 24 heures.

SELECT username, UNIQUECOUNT(sourceip) AS 'Count of Source IPs' 
FROM events
WHERE LOGSOURCENAME(logsourceid) ILIKE '%vpn%' 
AND username IS NOT NULL
GROUP BY username 
HAVING "Count of Source IPs" > 4 
LAST 24 HOURS
Remarque: Lorsque vous entrez une requête AQL, utilisez des guillemets simples pour une comparaison de chaînes et des guillemets doubles pour une comparaison de valeurs de propriété.

L'exemple de requête suivant affiche les résultats des événements où la crédibilité (HAVING credibility > 5) est supérieure à cinq.

SELECT username, sourceip, credibility 
FROM events
GROUP BY sourceip
HAVING credibility > 5 
LAST 1 HOURS

La requête suivante regroupe les résultats par adresse IP source, mais affiche uniquement les résultats dont la magnitude (HAVING magnitude > 5) est supérieure à cinq.
SELECT sourceIP, magnitude
FROM events 
GROUP BY sourceIP
HAVING magnitude > 5