Función mediana de PostgreSQL

Función mediana de PostgreSQL
La mediana de cálculo es obligado a obtener el valor medio de los datos. Al igual que muchas otras funciones, PostgreSQL proporciona una amplia gama de versatilidad en el tratamiento de la función media. Se preocupa por encontrar el valor medio de la columna de la tabla en la que se usa la mediana. En contraste con el recuento de funciones agregadas postgreSQL, suma, no hay una función específica utilizada para calcular el agregado de la mediana. La mediana es una función definida por el usuario.

En funciones aritméticas simples, existen diferentes medias y fórmulas para encontrar la mediana en cualquier datos proporcionados en texto plano o en forma tabular. Mientras que en el caso de los sistemas de bases de datos, utilizamos algunas otras funciones incorporadas combinadas para obtener el valor de la mediana. Este artículo explicará algunas de las técnicas más eficientes y también en una función manual creada por nosotros para obtener la mediana de los datos en PostgreSQL.

Uso de percentil_count () y percentil_disc ()

Ambas son las formas de ser mediana de una manera ligeramente diferente. Porque la diferencia en sus valores resultantes se basa en sus metodologías. El percentil se refiere a retratar el valor de los datos con tener un porcentaje de por ciento. Pero para la mediana, usamos (0.5) Valor. La principal diferencia entre ambos es que el percentil_count () interpola el valor y su trabajo se basa en la distribución continua de valores, mientras que percentily_disc () devuelve el valor de los datos dados y se basa en calcular el percentil en la distribución discreta.

La sintaxis para ambos percentiles es:

Seleccione percentil_count (0.5) dentro del grupo (orden por x) de los valores (a), (b), (c), (d)) V (x);
Seleccione percentil_disc (0.5) dentro del grupo (orden por x) de los valores (a), (b), (c), (d)) V (x);

Para los valores dados, el percentil_disc le devolverá los únicos valores que están presentes en los datos. Percentil_count calcula la mediana para los valores. Por ejemplo entre los números pares. En el ejemplo anterior, el percentil_count le dará a "5" el número entre los 3 y 7 valores. Y percentil_disc muestra 7 de descendente. Como el valor para esta función siempre es de los datos disponibles. Entonces proporciona el valor más cercano de la mediana después de los cálculos.

Como los datos en PostgreSQL están presentes en las relaciones (Tabla), el percentil se aplica en la columna de un valor numérico (pago). Creamos una tabla llamada Profesor. La siguiente consulta nos ayudará a ilustrar los atributos de la tabla primero y luego aplicar el percentil_disc () en ella.

>> seleccionar * del profesor; seleccione percentil_disc (0.5) Dentro del grupo (orden por profesión.pagar) del profesor;

La primera mitad de la consulta mostrará el contenido de la tabla. mientras que la segunda parte seleccionará el valor del percentil. Aquí se aplica una orden por cláusula. Esta cláusula organizará los elementos de la columna relevante en orden ascendente y luego aplicará la función en ella. La columna (PAY) está en uso para que esta consulta se ejecute.

Después de la ejecución, el resultado es 51, un valor distinto que se obtiene por la función del percentil. Para dejarlo más claro, se usa un simple "ntile" por 100 para organizar cada elemento de la columna en orden ascendente.

>> Seleccionar profesor. PAGO, NTILE (100) Over (pedido del profesor. pagar) del profesor;

El comando mencionado anteriormente transmite la columna "paga" de la tabla. Ha hecho que sea más fácil entender cómo funcionará el percentil_disc. Como los números totales en la columna "PAGE" son 8 filas que son incluso. Por lo tanto, es difícil obtener el punto medio preciso de los datos. Disco () irá por el valor más cercano. Que es "51" según el orden ascendente.

En el caso de percentil_count, el resto del comando es el mismo, pero la función cambia de disco a cont. Como el nombre indica el funcionamiento del percentil_cont, el valor está en forma de continuidad, lo que significa que no hay fin hasta ahora. Por lo tanto, el resultado estará siempre en forma decimal. Esto otorgará a mediados de dos números adyacentes. En otras palabras, esta función obtiene los dos números presentes en el centro de la columna, en el caso de un número par.

>> Seleccione percentil_count (0.5) Dentro del grupo (orden de Profrssor.pagar) del profesor;

Entre 51 y 52 su "51.5 "es el valor continuo preciso de la mediana en la columna" Paga ".

También puede cambiar el valor del percentil en cualquier función. Por ejemplo, usamos 0.25, 0.5 y 0.75 como parámetro en percentil_disc ().

Percentil_disc (0.25)
Percentil_disc (0.5)
Percentil_dic (0.75)

Todos los valores se muestran colectivamente en una sola fila utilizando esta sintaxis en la función. Considere el SNAP que hemos adjunto, que muestra el Ntile de la columna, todos los valores se clasifican en orden ascendente. Si 0.5 conduce al valor "51", luego para 0.25, son 8 y para “0.75 ”es 77. Como es el número presente en ID 4, entonces para 0.25, se calcula de acuerdo con la 4ta ID respectivamente. Y similar es el caso con 0.75.

Uso de la función para la mediana

Para hacer cumplir la función para el cálculo de la mediana de la tabla, necesitamos tener una nueva tabla de muestra. Después de la creación, los valores se agregarán para hacerlo en el estado funcional. La tabla temporal se usa porque no necesitamos estos datos durante más tiempo para existir en la base de datos.

>> Crear mediana de tabla temporal (ID Serish, clase Varchar (50), nombre Varchar (50), grado decimal (5,1)); >> inserte en mediana (clase, nombre, grado) valores ('x', 'y', z);

Después de la inserción del valor, echaremos un vistazo a los datos que se insertan. Para este propósito, use la instrucción SELECT.

>> seleccionar * de la mediana,

En esta función, la mediana para cada clase se calculará por separado. Esta partición está de acuerdo con la columna de clase. Los datos se ordenan en órdenes ASC y DESC. Una nueva función se inicializa aquí el número de fila (). Esto obtendrá el número de fila y luego aplicará operaciones de acuerdo con él. Echemos un vistazo al código. Luego lo desglosaremos para ver qué está sucediendo aquí para obtener la mediana.

Se utiliza el comando seleccionar que presente la subconsulta. Esta subconsulta usa ese número de fila () que organizará las filas en orden ascendente y descendente. Para cada clase, los pedidos se usan para números de fila.

Siempre que esté en busca de la mediana en la lista de tener los valores en números pares, la respuesta siempre radica en tomar el promedio de los dos números medios como lo hace el percentil_cont. Esto está sucediendo en este comando para obtener la mediana.

Rowasc in (RowDesc, RowDesc - 1, RowDesc + 1)

El resultado se envía de regreso de la subconsulta a la consulta principal. Y luego se calcula un promedio. Para las matemáticas, obtenemos 72.0, el medio esperado en el caso de una lista impar de valores. Mientras que para la ciencia, es 76.5. Tiene un número par en temas científicos, por lo que obtenemos mediados de 72 y 81.

Conclusión

La función mediana de postgresql hace que encontrar el punto medio en datos simples o tabulares sea más fácil que calcularlo manualmente. Aunque es una función creada por el usuario, utiliza algunas funciones incorporadas para obtener el registro relevante. Percentil_cont y percentile_disc se consideran el núcleo del tema en discusión. Ya que su apoyo silencioso para proporcionar un concepto mediano en la función es notable. Sin embargo, todas estas funciones son suficientes para encontrar la mediana.