Con la agregación anidada, puede completar una consulta NRQL y luego realizar cálculos adicionales utilizando los resultados de esa consulta. La agregación anidada proporciona capacidades NRQL similares a la clase de subconsultas o subselecciones SQL donde la subconsulta está en la cláusula FROM
de la consulta externa.
Sugerencia
Esta característica es diferente de nuestra característica de subconsulta, que permite subconsultas en las cláusulas SELECT
y WHERE
.
La agregación anidada puede ayudarle a responder preguntas como estas sin crear múltiples consultas:
- ¿Cómo puedo contar las solicitudes por minuto para mi aplicación y luego obtener el máximo de solicitudes por minuto de la última hora?
- ¿Cómo puedo calcular el uso promedio de CPU de todos mis servidores o hosts y enumerar solo aquellos con un uso superior al 90%?
- De todas mis sesiones de usuario, ¿cómo puedo saber qué porcentaje rebotó inmediatamente?
Estructura de consulta de agregación anidada
Cada consulta NRQL debe comenzar con una declaración SELECT
o una cláusula FROM
. Una consulta de agregación anidada utiliza una declaración SELECT
y una cláusula FROM
y las aplica a una consulta completa o consultas contenidas entre paréntesis.
Una consulta de agregación anidada completa y con el formato adecuado se parece a esto:
SELECT function(attribute)FROM ( SELECT function(attribute) FROM dataType WHERE attribute TIMESERIES integer units)
Algunos otros detalles sobre el comportamiento de consultas y cláusulas:
- La consulta anidada puede tener más de dos niveles.
- Puede aplicar tanto
TIMESERIES
comoFACET
a cualquier parte de la consulta anidada. No es necesario que sean idénticos en todos los niveles. SINCE
Las cláusulas ,UNTIL
yCOMPARE WITH
se aplican a toda la consulta y solo puede usarlas en el nivel más externo.
Ejemplos de consulta de agregación anidada
A continuación se muestran algunos ejemplos de consulta anidada: