La cláusula o función "Partición por" de PostgreSQL pertenece a la categoría de funciones de la ventana. Las funciones de la ventana de PostgreSQL son las que son capaces de realizar cálculos que abarcan múltiples filas de una columna pero no todas las filas. Significa que, a diferencia de las funciones agregadas de PostgreSQL, las funciones de Windows no necesariamente producen un valor único como salida. Hoy, deseamos explorar el uso de la cláusula o función "Partición por" o función de PostgreSQL en Windows 10.
Partición PostgreSQL por ejemplos en Windows 10:
Esta función muestra la salida en forma de particiones o categorías con respecto al atributo especificado. Esta función simplemente toma uno de los atributos de la tabla PostgreSQL como una entrada del usuario y luego muestra la salida en consecuencia. Sin embargo, la cláusula o función "Partición por" de PostgreSQL es la más adecuada para grandes conjuntos de datos y no para aquellos en los que no puede identificar particiones o categorías distintas. Tendrá que pasar por los dos ejemplos discutidos a continuación para comprender el uso de esta función de una mejor manera.
Ejemplo # 1: Extracción de la temperatura corporal promedio de los datos de los pacientes:
Para este ejemplo en particular, nuestro objetivo es descubrir la temperatura corporal promedio de los pacientes de la tabla "paciente". Quizás se pregunte si simplemente podemos usar la función "AVG" de PostgreSQL para hacerlo, entonces, ¿por qué estamos usando la cláusula "Partition por" aquí por aquí?. Bueno, nuestra tabla "paciente" también consiste en una columna llamada "Doc_id" que está ahí para especificar qué médico trató a un paciente en particular. En lo que respecta a este ejemplo, estamos interesados en ver las temperaturas corporales promedio de los pacientes tratados por cada médico.
Este promedio será diferente para cada médico, ya que asistieron a diferentes pacientes con diferentes temperaturas corporales. Es por eso que el uso de la cláusula "Partición por" es obligatorio en esta situación. Además, vamos a usar una tabla ya existente para demostrar este ejemplo. También puedes crear uno nuevo si quieres. Podrá comprender bien este ejemplo realizando los siguientes pasos:
Paso # 1: Ver los datos que posee la tabla del paciente:
Dado que ya hemos declarado que vamos a usar una tabla ya existente para este ejemplo, intentaremos mostrar sus datos primero para que pueda echar un vistazo a los atributos que tiene esta tabla. Para eso, ejecutaremos la consulta que se muestra a continuación:
# Seleccionar * del paciente;Puede ver en la siguiente imagen que la tabla "paciente" tiene cuatro atributos, yo.mi., Pat_id (se refiere a la identificación del paciente), Pat_name (contiene el nombre del paciente), Pat_temp (se refiere a la temperatura corporal del paciente) y DOC_ID (se refiere a la identificación del médico que trató a un paciente en particular).
Paso # 2: Extracción de la temperatura corporal promedio de los pacientes con respecto al médico que los atendió:
Para descubrir la temperatura corporal promedio de los pacientes divididos por el médico que les atendió, ejecutaremos la consulta indicada a continuación:
# Seleccione Pat_id, Pat_name, Pat_temp, DOC_ID, AVG (Pat_temp) Over (Partition by DOC_ID) del paciente;Esta consulta calculará el promedio de la temperatura de los pacientes con respecto al médico que los atendió y luego simplemente la muestra junto con los otros atributos en la consola como se muestra en la siguiente imagen:
Como teníamos cinco ID de médico diferentes, logramos calcular los promedios de cinco particiones diferentes a través de esta consulta, yo.mi., 99.5, 99, 101.5, 99.5 y 105.5, respectivamente.
Ejemplo # 2: Extracción de los precios promedio, mínimo y máximo que pertenecen a cada tipo de plato de los datos de la comida:
En este ejemplo, queremos averiguar los precios promedio, mínimo y máximo de cada plato con respecto al tipo de plato de la mesa de "comida". Nuevamente, usaremos una tabla ya existente para demostrar este ejemplo; Sin embargo, eres libre de crear una nueva tabla si quieres. Obtendrá una idea más clara de lo que estamos hablando después de seguir los pasos mencionados a continuación:
Paso # 1: Ver los datos que posee la tabla de comidas:
Dado que ya hemos declarado que vamos a usar una tabla ya existente para este ejemplo, intentaremos mostrar sus datos primero para que pueda echar un vistazo a los atributos que tiene esta tabla. Para eso, ejecutaremos la consulta que se muestra a continuación:
# Seleccionar * de la comida;Puede ver en la siguiente imagen que la tabla de "comida" tiene tres atributos, yo.mi., Dish_name (se refiere al nombre del plato), DISH_TYPE (contiene el tipo al que pertenece el plato, yo.mi., Plato principal, arrancador o postre) y plato_price (se refiere al precio del plato).
Paso # 2: Extracción del precio promedio del plato del plato con respecto al tipo de plato al que pertenece:
Para descubrir el precio promedio del plato del plato dividido por el tipo de plato al que pertenece, ejecutaremos la consulta establecida a continuación:
# Seleccione Dish_Name, DISH_TYPE, DISH_PRICE, AVG (DISH_PRICE) Over (Partition by Dish_Type) de la comida;Esta consulta calculará el precio promedio de los platos con respecto al tipo de plato al que pertenecen y luego simplemente lo mostrará junto con los otros atributos en la consola como se muestra en la siguiente imagen:
Como teníamos tres tipos de platos diferentes, logramos calcular los promedios de tres particiones diferentes a través de esta consulta, yo.mi., 155, 241.67 y 261.67, respectivamente.
Paso # 3: Extracción del precio mínimo del plato del plato con respecto al tipo de plato al que pertenece:
Ahora, por terrenos similares, podemos extraer el precio mínimo del plato con respecto a cada tipo de plato simplemente ejecutando la consulta establecida a continuación:
# Seleccione Dish_Name, DISH_TYPE, DISH_PRICE, MIN (DISH_PRICE) Over (Partition by Dish_Type) de la comida;Esta consulta calculará el precio mínimo de los platos con respecto al tipo de plato al que pertenecen y luego simplemente lo mostrarán junto con los otros atributos en la consola como se muestra en la siguiente imagen:
Paso # 4: Extracción del precio máximo del plato del plato con respecto al tipo de plato al que pertenece:
Finalmente, de la misma manera, podemos extraer el precio máximo del plato con respecto a cada tipo de plato simplemente ejecutando la consulta establecida a continuación:
# Seleccione Dish_Name, DISH_TYPE, DISH_PRICE, MAX (DISH_PRICE) Over (Partition by Dish_Type) de la comida;Esta consulta calculará el precio máximo de los platos con respecto al tipo de plato al que pertenecen y luego simplemente lo mostrarán junto con los otros atributos en la consola como se muestra en la siguiente imagen:
Conclusión:
Este artículo tenía la intención de darle una visión general del uso de la función "Partición por" PostgreSQL. Para hacerlo, primero le presentamos las funciones de la ventana PostgreSQL, seguida de una breve descripción de la función "Partición por". Finalmente, para elaborar el uso de esta función en PostgreSQL en Windows 10, le presentamos dos ejemplos diferentes con la ayuda de los cuales puede aprender fácilmente el uso de esta función PostgreSQL en Windows 10.