Quiero poder realizar una media() en una columna después de eliminando los 5 valores más altos en y ver que el stddev no está por encima de un cierto número. Esto tiene que hacerse completamente como una consulta PL/SQL.Busque los 5 mejores valores MAX() de una tabla SQL y luego realice una AVG() en esa tabla sin ellos
EDITAR: Para aclarar, tengo un conjunto de datos que contiene valores en un cierto rango y rastrea la latencia. Quiero saber si el AVG() de esos valores se debe a un aumento general en la latencia, o debido a unos pocos valores con un stddev muy alto. Es decir - (1, 2, 1, 3, 12311) en oposición a (122, 124, 111, 212). También necesito lograr esto a través de una consulta SQL debido a las limitaciones de nuestro software de monitoreo.
No necesito eliminar las 5 filas superiores/inferiores de mi conjunto de datos. Necesito eliminar los 5 mejores valores MAX(). Es decir, si mi conjunto de datos contiene (111, 123, 1231, 15151, 12311, 1, 1, 1, 2, 1 ....) Quiero realizar un AVG() que devuelva los resultados de los dígitos individuales . –
@Arkadi: su consulta hace eso. Tenga en cuenta el "orden de". –
Hmm. Lo que parece que me falta es lo que hace exactamente la palabra clave sobre. Un google rápido no devuelve mucho, excepto que se trata de particionar los resultados, lo que parece muy relevante. Trataré de investigar eso. –