Avec l'agrégation imbriquée, vous pouvez compléter une requête NRQL, puis effectuer des calculs supplémentaires en utilisant les résultats de cette requête. L'agrégation imbriquée fournit des fonctionnalités NRQL similaires à la classe des sous-requêtes ou sous-sélections SQL où la sous-requête se trouve dans la clause FROM
de la requête externe.
Conseil
Cette fonctionnalité est différente de notre fonctionnalité de sous-requête, qui permet des sous-requêtes dans les clauses SELECT
et WHERE
.
L'agrégation imbriquée peut vous aider à répondre à des questions comme celles-ci sans créer plusieurs requêtes :
- Comment puis-je compter les requests par minute pour mon application, puis obtenir le nombre maximal requests par minute pour la dernière heure ?
- Comment puis-je calculer l'utilisation moyenne du processeur de tous mes serveurs ou hôtes et répertorier uniquement ceux dont l'utilisation est supérieure à 90 % ?
- Parmi toutes mes sessions utilisateur, comment puis-je déterminer quel pourcentage a rebondi immédiatement ?
Structure de requête d'agrégation imbriquée
Chaque requête NRQL doit commencer par une instruction SELECT
ou une clause FROM
. Une requête d'agrégation imbriquée utilise à la fois une instruction SELECT
et une clause FROM
et les applique à une requête entière ou à une requête contenue entre parenthèses.
Une requête d’agrégation imbriquée complète et correctement formatée ressemble à ceci :
SELECT function(attribute)FROM ( SELECT function(attribute) FROM dataType WHERE attribute TIMESERIES integer units)
Quelques autres détails sur le comportement des requêtes et des clauses :
- Une requête imbriquée peut avoir plus de deux niveaux.
- Vous pouvez appliquer
TIMESERIES
etFACET
à n’importe quelle partie de la requête imbriquée. Ils ne doivent pas nécessairement être identiques à tous les niveaux. SINCE
Les clauses ,UNTIL
etCOMPARE WITH
s'appliquent à l'ensemble de la requête et vous ne pouvez les utiliser qu'au niveau le plus externe.
Exemples de requêtes d'agrégation imbriquées
Voici quelques exemples de requêtes imbriquées :