Función ntil del servidor SQL

Función ntil del servidor SQL
En este artículo, comprenderá cómo trabajar con la función ntile () en SQL Server. La función ntile () le permite distribuir las filas en una partición ordenada en grupos numerados específicos.

Función SQL Server ntile ()

La función ntile () es parte de las funciones de análisis de SQL Server que le permite asignar filas en una partición ordenada en un número especificado de grupos iguales. Cada grupo está numerado a partir de 1 en adelante. La función luego asigna un número que indica el grupo en el que se ajusta la fila.

Lo siguiente representa la sintaxis de la función:

Ntile (integer_expression) Over ([])

Los argumentos se expresan como se muestra a continuación:

  1. Integer_Expression: esto define el número de grupos en los que se dividen las particiones.
  2. Partition_by_clause: esta cláusula divide el resultado establecido en varias particiones donde se aplica la función ntile ().
  3. Order_by_clause: esta cláusula define el orden en el que los valores de la función ntile se asignan a las filas en una partición.

La función devuelve el tipo de bigint.

Uso de ejemplo

El siguiente ejemplo demuestra usando la función ntile () en un conjunto de resultados.

Supongamos que tenemos una tabla con datos de muestra como se muestra:

Drop Base de datos si existe el inventario;
Crear inventario de base de datos;
Usar inventario;
Tabla de caída si existe productos;
Crear productos de mesa
(
ID int identidad clave primaria no nula,
Product_Name Varchar (100),
Fabricante Varchar (50),
cantidad int no nulo,
precio int predeterminado 0,
en_stock bit
);
Insertar en productos (Product_Name, fabricante, cantidad, precio, in_stock)
Valores ('Apple iPad Air - 2022', 'Apple', 100, 569.99, 1),
('Samsung Galaxy Z Flip 4 - 2022', 'Samsung', 302, 1569.00, 1),
('Sony PlayStation 5 - 2020', 'Sony', 500, 499.99, 1),
('Samsung Galaxy Watch -5 Pro - 2022', 'Samsung', 600, 209 / .99, 1),
('Apple Watch Series 6 - 2022', 'Apple', 459, 379.90, 1),
('Apple AirPods Pro - 2022', 'Apple', 200, 199.99, 1),
('55 "Clase S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Pantalla de juegos curvos de Mini -Led Led de Odyssey Ark Quantum - 2021', 'Samsung', 50, 2999.90, 1);

Podemos dividir los datos en la tabla en cuatro grupos como se muestra en la consulta a continuación:

Seleccione Product_Name, Fabricante, Precio, Ntile (4) Over (Orden por el fabricante) Grupos
de productos;

La tabla de salida es como se muestra:

También podemos dividir los datos en varios grupos y aplicar la función ntile () a cada división. Por ejemplo, la consulta a continuación divide los datos en función del fabricante.

Seleccione Product_Name, Fabricante, Precio, Ntile (1) Over (Partition por Orden del Fabricante por fabricante) Grupos
de productos;

Resultado:

Conclusión

En este artículo, aprendió los conceptos básicos de trabajar con la función ntile () en el servidor SQL para distribuir filas de una partición ordenada en varios conjuntos.