Sql ntile

Sql ntile
La función sql ntile divide las filas de una partición ordenada en un conjunto de partes iguales definidas. A cada parte se le asigna una expresión de número que varía de 1.

En SQL estándar, la función ntile se puede expresar como se muestra:

Ntile (const_int_expr)

La función dividirá las filas en las piezas constantes const_int_expr en función del orden de fila y devuelve un número de pieza basado en 1 que se asigna a cada fila.

Para una sintaxis más detallada y explícita, podemos expresarla como se muestra:

Ntile (piezas) sobre (
[Partition by Partition_Expression, ...]
Orden por sort_expression [ASC | Desc], ..
)

El parámetro de las partes define el número total de piezas en las que se dividen las filas. El valor debe ser un entero o una consulta que devuelva un entero positivo.

La partición por cláusula definirá la expresión que separa las filas en conjuntos de secciones. La función ntil se aplica a estas particiones.

Orden de especificará el orden en que se ordenan las filas. Esto se aplica en cada partición.

SQL NTILE - Ejemplo práctico

Para ilustrar el uso de la función ntile, usemos un ejemplo práctico. Comience creando una base de datos para almacenar los datos de muestra.

Crear base de datos ntile_db;

Cambie a la base de datos y cree una tabla como se muestra:

Crear empleados de la mesa (
ID Clave primaria en serie,
Full_name Varchar (255),
Envíe un correo electrónico a Varchar (255),
Departamento Varchar (100),
Fecha de inicio_date,
bool activo,
Categoría Varchar (50)
);

NOTA: La consulta anterior se proporciona para bases de datos PostgreSQL. Siéntase libre de cambiar la consulta anterior para que coincida con el motor de la base de datos deseado.

Una vez que tenga definido el esquema de tabla, podemos continuar y agregar datos de muestra. Ejecute la consulta a continuación para agregar datos de muestra.

Lo anterior agrega datos de muestra a la tabla. Usaremos estos datos para ilustrar cómo usar la función ntile.

Ejemplo 1

Usemos la función ntile para dividir los datos anteriores en 3 filas separadas en función de la categoría.

Seleccionar ID,
nombre completo,
correo electrónico,
departamento,
fecha de inicio,
activo,
categoría,
ntile (3) Over (Partition by Category Order by ID ASC) como Cat_Rank
de los empleados;

La consulta anterior debe dividir el resultado por la categoría y aplicar la función ntile. La tabla resultante se muestra a continuación:

Clausura

Usando este artículo, descubrimos cómo hace la función ntile y cómo usarlo. Verifique la documentación del motor de su base de datos para explorar más.

Gracias por leer!!