SQLite NTILE

Resumen: en este tutorial, aprenderá a usar la función SQLite NTILE() para dividir un conjunto de resultados en un número de cubos y asignar un número de cubo a cada fila.

Introducción a la función SQLite NTILE ()

La función SQLite NTILE() es una función de ventana que divide un conjunto de resultados ordenado en un número de cubos por una expresión especificada y asigna un número de cubo apropiado a cada fila.

A continuación se muestra la sintaxis de la función NTILE() :

En esta sintaxis:

expresión

expression puede ser un entero positivo literal o cualquier expresión válida que se resuelva a un entero positivo.

La función NTILE() asigna números desde el 1 hasta el valor de expression a cada fila. El número de filas en cubos puede diferir como máximo en 1. El resto del número de filas divididas por cubos se asigna a cada cubo, comenzando por el cubo 1.

Por ejemplo, si tiene 10 filas y 4 cubos. Cada cubo tendrá 2 filas. El resto de 10/4 es 2. Así que el primer cubo tendrá 2 + 1 = 3 filas, el segundo cubo también tendrá 3 filas.

La siguiente imagen ilustra la idea:

Si el valor de la expresión es mayor que el número de filas, entonces el NTILE() función de cubrir el número de cubos igual al número de filas. Por lo tanto, los cubos restantes estarán vacíos.

Por ejemplo, si tiene 10 filas y 11 cubos, a cada fila se le asignará un número de cubo del 1 al 10. El cubo 11 no tendrá fila.

Observe que no puede usar una subconsulta o una función de ventana en expression.PARTICIÓN

POR

La cláusula PARTITION BY divide los conjuntos de resultados en particiones a las que se aplica la función NTILE.

ORDENAR POR

La cláusula ORDER BY especifica el orden de las filas en cada partición a la que se aplica NTILE().

Ejemplo de función SQLite NTILE ()

Usaremos la tabla tracks de la base de datos de muestra para demostrar la función NTILE() :

Usando la función SQLite NTILE () con ORDEN POR ejemplo

La siguiente instrucción utiliza la función NTILE() para dividir en 4 cubos los valores de la columna Milliseconds de la tabla tracks del álbum 1.

La columna Milliseconds tiene 10 valores en este álbum, por lo que los dos valores adicionales, que es el resto de 10/4, se distribuyen a los cubos 1 y 2, que por lo tanto tienen más valor que los cubos 3 o 4.

Aquí está la salida:

Usando la función SQLite NTILE () con ejemplo de cláusula de PARTICIÓN POR

La siguiente instrucción usa la función NTILE() para dividir las pistas de cada álbum en 3 cubos por los valores de la columna Bytes :

La siguiente imagen muestra la salida:

En este ejemplo, la cláusula PARTITION BY distribuyó las filas en particiones o álbumes. La cláusula ORDER BY ordenaba las pistas de cada álbum por su tamaño en bytes. Y la función NTILE() asignó un número de cubo a cada pista y restableció el número de cubo para cada álbum.

En este tutorial, ha aprendido a usar la función SQLite NTILE() para dividir un conjunto de resultados en un número de cubos y asignar un número de cubos a cada fila.

  • ¿Fue útil este tutorial ?
  • YesNo

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.