Grupo postgreSQL por

Grupo postgreSQL por
PostgreSQL Group por cláusula es una característica que se utiliza para unir/combinar esas filas en la tabla que tienen los mismos datos. Esta cláusula se usa principalmente para eliminar los datos duplicados y mantener la concurrencia. Siempre que queramos calcular la suma, o cualquier otro agregado como AVG, etc., Este grupo por cláusula siempre se usa, ya que hay muchas cláusulas utilizadas en PostgreSQL. Pero existe una jerarquía entre cada cláusula.

Desde> Where> "Group by"> tener> Seleccionar> Distinto> Orden por> Límite

El funcionamiento de PostgreSQL se encuentra dentro de "dónde" y la cláusula de "tener".

Sintaxis

Columna seleccionar
De Dumytable
Donde [condiciones]
Grupo de FirstColumn, SecondColumn ..
Orden por FirstColumn, SecondColumn ...;

Ejemplo 1

Para comprender el concepto del grupo por función, utilizamos un ejemplo aquí. En la tabla de pasajeros, puedes ver que los apellidos son los mismos para algunas personas. Cada nombre que es similar a otros formularios de un grupo, y su pago se agrega colectivamente contra cada mismo nombre. Esto se elabora en el siguiente ejemplo.

>> seleccione lname, suma (pago) del grupo de pasajeros por lname;

El apellido del pasajero se selecciona con el uso de una función incorporada 'suma' que toma la columna 'pago'. Y agregue el pago para aquellas personas que tienen el mismo nombre. Por ejemplo, se agrega el salario de "Javed" y "Saad". Mientras que para "Malik" y "Shams", se menciona individualmente.

Del mismo modo, considere una tabla "hospital". Queremos agrupar la ciudad para la edad. En este ejemplo, una ciudad existe más de una vez en una columna. Cada ciudad está agrupada con el mismo nombre de la ciudad. Se agregan las edades de cada grupo de la ciudad y forman una sola fila.

Hospital:

>> Ciudad seleccionada, suma (edad) del grupo hospitalario por ciudad;

Ejemplo 2

Alternativamente, si seleccionamos el apellido con la ID del pasajero de la tabla, el resultante será una tabla diferente. Porque cuando agrupamos ambas columnas juntas, mostrará el nombre de cada pasajero porque la identificación de cada pasajero, incluso con un apellido común, es diferente. La suma se calcula en una columna separada, pero el pago de cada pasajero se menciona frente a su nombre porque la agrupación de Lname no se realiza aquí.

Este es un ejemplo del grupo por cláusula con múltiples columnas. Porque cuando se seleccionan varias columnas para agrupar, el valor resultante cambia en comparación con el grupo por una sola tabla.

>> seleccionar ID, lname, suma (pago) del grupo de pasajeros por identificación, lname;

Desde la salida, notará una cosa que en primer lugar, todos los que son poco comunes se muestran, y luego los que son iguales se mencionan en la tabla.

Ejemplo 3

Este ejemplo tiene una condición de unión y un grupo por cláusula. Como se usa 'unirse', significa que hemos usado dos tablas aquí. Uno es "elemento", y el otro es "órdenes".

Elementos:

Pedidos:

Hemos utilizado un método de concatenación (utilizado para unir dos cadenas) para unir los valores de dos columnas de la tabla "ítems" con ", y nombrar la columna colectivamente como" descripción ". Es opcional; puedes tomarlos por separado. En esta consulta, la palabra clave "usando" identifica la columna específica de la otra tabla. La dirección de la tabla de elementos coincide con la columna de dirección de la tabla "órdenes". Esto se hace haciendo una unión entre dos tablas. Como ejemplos anteriores, ambas columnas serán seleccionadas por el grupo por cláusula.

>> Seleccionar nombre || ',' || Categoría como descripción, dirección de los elementos órdenes de unión interna utilizando el grupo (dirección) por dirección, descripción;

Puede observar que se seleccionarán 5 filas que tengan la dirección de elementos coincidentes con la dirección de pedidos. Y luego, la columna de descripción se formará correspondencia con la columna de dirección.

Del mismo modo, hay otro ejemplo de concatenación con el factor de edad en dos tablas. Uno es "pasajero", y el otro es "trabajador". La concatenación está entre el primer y el apellido. Ambos nombres se separan a través del espacio entre dos nombres. Hemos tomado una parte de la mesa de los trabajadores aquí.

Obrero:

La consulta funcionará para que el punto en el que se coincida el nombre del trabajador se coincida con el pasajero, la edad del pasajero, se muestre en la columna de edad.

>> seleccionar fname || "|| pasajero.lname como full_name, pasajero.Edad del trabajador interno de pasajeros Usando el grupo (FNAME) Group por Full_Name, Passenger.orden de edad por pasajero.edad;

Se forma una fila. El Name Full_Name se crea uniendo dos columnas con espacio, y la dirección se selecciona donde el nombre del pasajero coincide con el nombre del trabajador.

Ejemplo 4

Este ejemplo trata de usar una función count () para contar las ID de la tabla "ítems". Este es nuevamente el grupo por la identificación de la tabla.

>> seleccione ID, cuenta (ID) desde el grupo de elementos por ID;

Las filas en la columna de identificación se dividen en grupos. Cada grupo se cuenta en la columna que cuántas veces aparece en la columna. En la tabla resultante, se crea una nueva columna con un nombre de "recuento", y los valores del recuento se escriben aquí frente a cada grupo.

A través de pgadmin

Ahora hemos aplicado algunos ejemplos en el lado del tablero de PostgreSQL. Estos ejemplos son diferentes en algún tipo porque forman una fila subtotal de la columna original cuando cualquiera de los elementos difiere de los demás, por lo que el valor se devuelve como nulo.

Considere el primer ejemplo; Aquí, hemos creado un nombre de columna "todos" que ha combinado dos columnas. Una dirección y una categoría. 'All' columna cuenta los valores en ambas columnas colectivamente. La columna de dirección se agrupa como "agregar", y la columna de categoría se agrupa por separado como "gato". Como los nombres de la columna de ambas tablas utilizadas se pueden combinar entre sí. Entonces, cada columna de la tabla respectiva se accede mediante un objeto específico.

La condición aplicada en el comando depende de la identificación y el número de pedido. Donde tanto estos ID como de pedido son los mismos, los datos se obtienen. Del mismo modo, también se agrega una condición adicional para el nombre.

>> Seleccione O.dirección, categoría, contar (*) como "todos", agrupación (o.dirección) como "agregar", agrupar (categoría) como "gato" de los elementos I, pedidos o donde yo.orden_no = o.orden_id y yo.Dirección = 'Lahore' Grupo de Cube (O.dirección, categoría) orden por 1, 2;

Para la ciudad de Lahore, se selecciona una categoría. Hay 4 posibilidades. A veces, el juguete está presente pero no la dirección. Y viceversa. Pero existe un momento en que tanto la categoría como la dirección estén presentes.

Ahora, si cambiamos la condición del nombre de una tabla y cambiamos la tabla con otros. "Elementos.dirección "se reemplaza por el" orden.dirección ”, entonces el resultado es diferente.

Conclusión

La cláusula "PostgreSQL Group by" se utiliza para aplicar cualquier operador agregado a los datos colectivos. Este artículo utiliza el grupo por cláusula con función de conteo, uniones y selección y agrupación de múltiples columnas. Estoy seguro de que este tutorial será el mejor medio de comprensión para los lectores.