PostgreSQL

Función de ventana PostgreSQL NTILE

Función de ventana PostgreSQL NTILE
Los métodos de ventana en PostgreSQL se han descartado para equiparar datos divergentes y son esenciales para casos de uso analíticos y otros de PostgreSQL. El método NTILE () seguido de la cláusula OVER en PostgreSQL se descarta para dividir filas organizadas en una especie de serie de depósitos graduados. Los depósitos no son más que un conjunto de grupos clasificados. A lo largo de este artículo, descubrirá cómo dividir filas ordenadas en una partición en una figura determinada de depósitos clasificados utilizando la función PostgreSQL NTILE (). El método NTILE () asigna un número de depósito a cada grupo que comienza en 1 en un conjunto, lo que demuestra el conjunto en el que la fila tiene su lugar.

Sintaxis:

>> NTILE (cubos) OVER ([PARTICIÓN POR expresión de partición,…] [ORDENAR POR expresión de clasificación]) [ASC | DESC],…]);

En primer lugar, para comprender el método NTILE, inicie sesión desde el shell de PostgreSQL. Es por eso que intente iniciar el shell de línea de comandos de PostgreSQL desde las aplicaciones. Para trabajar en otro servidor, ingrese el nombre de un servidor; de lo contrario, presione Enter. Si necesita practicar en la base de datos previamente designada, e.gramo., Postgres, luego presione Enter o de lo contrario, inscriba un título de banco de datos, e.gramo. 'prueba'. Para utilizar un puerto que no sea 5432, inscríbalo; si no, déjelo como está y presione Enter para continuar. Es posible que le solicite que ingrese el nombre de usuario en caso de que necesite cambiar a un nuevo nombre de usuario. Ingrese el nombre de usuario; de lo contrario, solo presiona Enter. Finalmente, debe poner su contraseña de usuario actual, para cambiar usando la línea de comandos utilizando ese usuario específico como debajo. Posteriormente, entradas efectivas de todos los datos obligatorios, puedes empezar a trabajar en NTILE.

Para comenzar a trabajar en NTILE, debe crear una nueva tabla usando el comando CREATE si no tiene una. Piense en la tabla "empleado" que se muestra a continuación en su base de datos PostgreSQL denominada "prueba". Esta tabla contiene cuatro columnas e.gramo., identificación, nombre, edad y salario de un empleado de una empresa en particular. Cada columna tiene un total de 10 filas, lo que significa 10 registros en cada campo de columna.

>> SELECCIONAR * DEL empleado;

Al principio, tenemos que entender el concepto simple de buscar registros de una tabla usando la cláusula ORDER BY. Hemos estado ejecutando el siguiente comando SELECT sin usar NTILE para elaborar y comprender el concepto brevemente. Recuperamos registros de columnas; nombre, edad y salario al ordenar los registros en orden ascendente del campo "edad". Puede ver que simplemente mostrará los registros tal como se presentan en la imagen.

>> SELECCIONE nombre, edad, salario DEL empleado ORDENAR POR edad;

Uso de NTILE () OVER con la cláusula ORDER BY:

Suponiendo la misma tabla "empleado", comencemos a usar la cláusula NTILE () OVER en nuestro ejemplo. En este ejemplo, hemos estado seleccionando las dos columnas; nombre y salario, mientras ordena el resultado relacionado con el orden ascendente de una columna "salario". El resultado contendrá datos en los que la edad de un empleado sea superior a 24 años. Hemos definido el valor del depósito NTILE como "3" porque queremos dividir las filas en 3 depósitos, e.gramo., 1 a 3. Puede ver que las filas se han dividido correctamente en 3 depósitos iguales, que contienen 3 filas en cada depósito.

>> SELECCIONE nombre, salario, NTILE (3) OVER (ORDENAR POR salario) FROMemployee DONDE edad> '24';

Ahora, tomemos otro ejemplo usando la misma tabla "empleado". Esta vez, queremos recuperar los registros de tres columnas; nombre, edad y salario usando la consulta SELECT en el shell de comandos. Hay ligeros cambios en la cláusula WHERE. Actualmente, hemos estado buscando los registros de la tabla "empleado" donde la edad es menor de 27 años, lo que solo obtendrá los registros que tengan una edad menor de 27. Por otro lado, no hay cambios en el valor de un segmento, ya que nuevamente es 3. Al probar el comando indicado, hemos encontrado solo tres registros, igualmente divididos en 3 cubos como se muestra en la imagen.

>> SELECCIONE nombre, edad, salario, NTILE (3) OVER (ORDENAR POR salario) DEL empleado DONDE edad < '27';

Uso de NTILE () OVER con la cláusula ORDER BY y PARTITION BY:

Tengamos un ejemplo de NTILE () OVER mientras usamos las cláusulas PARTITION BY y ORDER BY simultáneamente. Suponga que se utilizará la tabla sin cambios "empleado" de una "prueba" de la base de datos. En este ejemplo, debe seleccionar las tres columnas; nombre, edad y salario, mientras se ordena en forma ascendente según un campo "edad". Además, hemos estado usando la cláusula PARTITION BY en la columna "salario", para hacer particiones de una tabla de acuerdo con esta columna. No hay una condición específica que se haya utilizado en esta consulta en particular, lo que significa que se mostrarán todos los registros de la tabla "empleado". El depósito NTILE tiene un valor de "3". En la ejecución de la consulta indicada a continuación, verá el resultado a continuación. Las particiones se realizan de acuerdo con los distintos valores de la columna "salario". Todos los valores de la columna "salario" son distintos, por eso se encuentra en diferentes particiones, excepto el valor "60000". Esto significa que cada partición obtuvo 1 valor excepto uno. Después de eso, todas las filas de partición se clasificaron a través de cubos. Solo un cubo obtuvo el segundo rango.

>> SELECCIONE nombre, edad, salario, NTILE (3) OVER (PARTICIÓN POR salario, ORDEN POR edad) DEL empleado;

Tomando el mismo ejemplo de NTILE () OVER con el uso de la cláusula PARTITION BY y ORDER BY con una cláusula WHERE. En la cláusula WHERE, hemos definido la condición, que dice que los únicos registros que se buscarán son aquellos en los que la edad del empleado es menor de 27 años. Solo obtuvimos 3 resultados con 2 particiones según la edad y la columna "ntile" con rangos.

>> SELECCIONE nombre, edad, salario, NTILE (3) OVER (PARTICIÓN POR salario, ORDEN POR edad) DEL empleado DONDE edad < '27';

Conclusión:

En esta guía, hemos discutido diferentes ejemplos de funciones ntile. Puede implementarlos según su necesidad.

Las mejores distribuciones de Linux para juegos en 2021
El sistema operativo Linux ha recorrido un largo camino desde su apariencia original, simple y basada en servidor. Este sistema operativo ha mejorado ...
Cómo capturar y transmitir su sesión de juego en Linux
En el pasado, los juegos solo se consideraban un pasatiempo, pero con el tiempo la industria del juego experimentó un gran crecimiento en términos de ...
Los mejores juegos para jugar con el seguimiento de manos
Oculus Quest presentó recientemente la gran idea del seguimiento manual sin controladores. Con un número cada vez mayor de juegos y actividades que ej...