Tutoriales

percentil SQL

¿Qué dos palabras comunes están tan relacionadas que crees que son iguales? Para nosotros, los desarrolladores de bases de datos, eso son bases de datos SQL y estadísticas.

Uno de los cálculos estadísticos comunes que ocurre incluso en la gestión de bases de datos son los percentiles.

Un percentil es una medida estadística que nos permite dividir un conjunto de datos en partes iguales. El propósito de los percentiles es brindar información sobre la distribución de los datos, que es como entendemos cómo se distribuyen los valores.

En este tutorial, aprenderemos cómo calcular percentiles en SQL para dividir datos en diferentes partes.

tabla de muestra

Comencemos configurando una tabla básica con datos de muestra para fines de demostración. Esto nos ayuda a ilustrar el comportamiento de varios métodos de cálculo de percentiles y el resultado resultante.

Creemos una tabla llamada «Productos» que contenga información de comestibles. La cláusula «crear tabla» es la siguiente:

Crear productos de mesa (

La clave primaria Product_id INT se incrementa automáticamente,

Nombre del productoVARCHAR(255),

CategoríaVARCHAR(255),

Precio decimal (10, 2),

CantidadINT,

Fecha de vencimiento FECHA,

Código de barras GRANDE

);

Después de crear el formulario, podemos continuar agregando datos de muestra al formulario. Podemos utilizar la siguiente declaración «insertar»:

insertar
Ingresar
producto (nombre del producto,
categoría,
precio,
cantidad,
fecha de caducidad,
código de barras)
valor('Gorro de cocinero 25cm',
'panadería',
24,67,
57,
'2023-09-09',
2854509564204);

insertar
Ingresar
producto (nombre del producto,
categoría,
precio,
cantidad,
fecha de caducidad,
código de barras)
valor(“Huevos de Codorniz – Enlatados”,
«trastero»,
17,99,
67,
'2023-09-29',
1708039594250);

insertar
Ingresar
producto (nombre del producto,
categoría,
precio,
cantidad,
fecha de caducidad,
código de barras)
valor(“Capuchino de café y ponche de huevo”,
'panadería',
92,53,
10,
'2023-09-22',
8704051853058);

insertar
Ingresar
producto (nombre del producto,
categoría,
precio,
cantidad,
fecha de caducidad,
código de barras)
valor(«Pera – espinosa»,
'panadería',
65,29,
48,
'2023-08-23',
5174927442238);

insertar
Ingresar
producto (nombre del producto,
categoría,
precio,
cantidad,
fecha de caducidad,
código de barras)
valor(“Pasta – cabello de ángel”,
«trastero»,
48,38,
59,
'2023-08-05',
8008123704782);

insertar
Ingresar
producto (nombre del producto,
categoría,
precio,
cantidad,
fecha de caducidad,
código de barras)
valor(“Vino – Prosecco Valdobbiadene”,
'Producción',
44.18,
3,
'2023-03-13',
6470981735653);

Finalmente deberías tener una tabla como esta:

percentil SQL

Como puede imaginar, la forma en que se calculan los percentiles puede variar según el motor de base de datos. Sin embargo, el método más común es utilizar las funciones PERCENTILE_DISC() y PERCENTILE_CONT().

Estas funciones son parte de la Especificación SQL estándar (2003). Por tanto, debe ser compatible con PostgreSQL y Oracle.

PERCENTILE_CONT()

Comencemos con la función PERCENTILE_CONT(). Esta función nos permite calcular valores percentiles como parte de un conjunto de datos.

Es posible que la interpolación devuelta por esta función no sea precisa para puntos de datos específicos del conjunto de datos.

La sintaxis de la función es la siguiente:

Dentro de PERCENTILE_CONT (percentil) grupo (Orden POR nombre de columna) SOBRE ();

La función acepta los siguientes parámetros:

  • Percentil: especifica el valor percentil deseado (0,0 a 1,0).
  • nombre_columna: representa la columna para la que deseamos calcular el percentil.
  • OVER (): configura la función de ventana para especificar todo el conjunto de datos.

Un ejemplo de cómo utilizar esta característica es el siguiente:

elegir

PERCENTILE_CONT(0,5) dentro grupo (Orden POR precio) OVER () AS mediana

de

producto;

Nota: La consulta proporcionada solo se aplica a PostgreSQL, ya que MySQL no admite el uso de DENTRO DEL GRUPO.

Esto calcula 50th El percentil de la información proporcionada.

DISCO_PERCENTIL()

Podemos calcular valores percentiles como valores discretos directamente desde el conjunto de datos usando la función PERCENTILE_DISC().

Esta función devuelve el valor correspondiente al punto de datos real.

La sintaxis de la función es la siguiente (PostgreSQL):

Dentro de PERCENTILE_DISC (percentil) grupo (Orden POR nombre de columna) SOBRE ();

El resultado de muestra es el siguiente:

elegir

DISCO_PERCENTIL(0,25) dentro grupo (Orden por precio) OVER () AS percentil_25

de

producto;

Esto debería calcular 25th El percentil de los datos.

en conclusión

Este tutorial le muestra cómo utilizar varias funciones para calcular percentiles en una base de datos SQL.

LEER  Un rootkit independiente de Python 3 para Windows 10 / Linux con Tor

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba