Grupo de Postgres de día

Grupo de Postgres de día
Se utiliza una declaración de grupo Postgres para crear grupos de las filas que se obtienen de la declaración selecta. Esta cláusula es útil cuando necesitamos usar las funciones incorporadas de Postgres con el comando SELECT. Por ejemplo, usando Sum (), Count (), podemos usar fácilmente esta cláusula con la instrucción SELECT. Este tutorial funcionará en esta cláusula para agrupar las filas de la relación de acuerdo con el día de los datos que ingresó.

Sintaxis de grupo por cláusula

SELECCIONAR
columna1,
name_of_function (columna2)
DE
Name_of_table
AGRUPAR POR
columna_1;

El nombre_of_function es la función incorporada principalmente como la función de conteo para contar el número de filas que se agruparán en consecuencia. Mientras que en el caso de dos columnas que se utilizarán en una instrucción SELECT, usamos ambas columnas en SELECT y en el grupo por cláusula.

Implementación del grupo durante el día

Considere el siguiente ejemplo, en el que tenemos una tabla llamada un país que contiene toda la información sobre el país, la identificación, el nombre y el nombre del continente. Aplicaremos un comando de grupo en la tabla.

El grupo por cláusula se aplica en la columna, por lo que hemos seleccionado la columna del continente para agrupar los países del mismo continente. Primero, seleccionamos la columna específica que queremos agrupar. i.mi., continente. Luego creamos una nueva columna para mostrar el resultado en ese. Esta columna resultante se llama Same_area. La función incorporada de PostgreSQL Count () se usa aquí para contar las ID que tienen los mismos continentes.

>> Seleccione Continente como Same_area, Count (ID) desde Country Group por continente;

Esto dará los siguientes resultados en un comando recién creado con la columna de recuento en la ejecución. Entonces, el resultado muestra que dos continentes aparecen 2 veces en una mesa. Estos dos mismos continentes se mencionan colectivamente para formar un grupo mediante el uso de un grupo por cláusula.

Grupo de día

Como hemos visto, un grupo de cláusula se usa con un nombre de columna específico, según el cual realiza toda la declaración. Ahora utilizaremos algunos ejemplos para agrupar los datos de la tabla colectivamente de acuerdo con los días de los datos que hemos utilizado en las tablas. Aquí se creará una nueva relación para implementar un nuevo ejemplo. Entonces, al usar el comando S Create, se crea una prueba llamada Test con 3 columnas, ID, TIEMPLE_NAME y TEST_DATE; El tipo de datos para esta variable se usa como fecha porque necesitamos agrupar los datos de la tabla de acuerdo con el día.

>> Crear prueba de tabla (ID Integer, temas_name varchar (10), fecha test_date);

Después de crear la tabla, necesitamos insertar valores en la tabla a través de una declaración de inserción. Al insertar datos, uno debe asegurarse de que los valores insertados contengan las mismas fechas en dos o más filas para evitar cualquier conflicto mientras se agrupan las filas en consecuencia. Porque los datos diferentes no se agruparán. La columna test_date contiene fechas de acuerdo con el formato de fecha de la función de fecha incorporada y debe escribirse en comas invertidas.

>> Insertar en Test (id, temas_name, test_date) valores ('1', 'inglés', '2022-11-22'), ('2', 'química', '2022-8-06'), (( '3', 'Socialogy', '2022-11-22'), ('4', 'matemáticas', '2022-8-06'), ('5', 'inglés', '2022-03-08 '), (' 6 ',' Física ',' 2022-06-19 ');

Para ver los datos ingresados ​​en la tabla, use un comando seleccionar para ver el registro.

>> seleccionar * de la prueba;

Puede ver que algunas filas en las columnas test_date se ven similares.

Ejemplo 1
Usaremos la consulta SELECT con la cláusula Group by para combinar los mismos valores.

>> seleccione date_trunc ('day', test_date) como combine_test, count (id) como recuento desde el grupo de prueba por fecha_trunc ('day', test_date);

Este comando contiene la función de fecha incorporada para obtener los días solo del valor de fecha ingresado. Esta función lleva la palabra clave 'día' a buscar días y el nombre de la columna en el que esta función se aplicará como parámetro. Y luego especifique una nueva columna resultante; La función count () contará los ID totales que son los mismos. Y la selección se agrupa por los días resultantes que se convierten de las fechas que hemos usado.

En la ejecución, verá el resultado anterior. Puedes ver que esas filas que tienen las mismas fechas se combinan como grupo.

Ejemplo 2
Nuevamente considere el ejemplo anterior, pero hemos agrupado los datos utilizando dos columnas esta vez. Debemos seleccionar esos dos elementos que queremos usar con el grupo por cláusula; De lo contrario, PostgreSQL no ejecuta el comando. Hemos usado la identificación y la columna de fecha.

>> Seleccionar id, date_trunc ('day', test_date) como combine_test, count (id) como contar desde el grupo de prueba por id, date_trunc ('day', test_date);

Esta vez los valores no se agrupan. Porque cuando usamos el grupo por cláusula con más de una columna, la cláusula se aplica primero en la primera columna, y luego los resultantes de eso se agrupan más de acuerdo con la segunda columna. Entonces, esta tabla resultante muestra que ninguna fila se agrupa ya que todas las ID son diferentes. Cada recuento de ID muestra 1 para cada fila.

Ejemplo 3
Las fechas que tienen el mismo día de día y diferentes números de mes no se agrupan. Es necesario tener días, meses y años iguales; De lo contrario, la fila tiene el mismo día, pero los meses y años diferentes no se agrupan de acuerdo con los días. Estos se contaron como filas separadas. Para comprender este concepto, nuevamente insertaremos otra fila que tiene el día igual pero otros atributos diferentes de las fechas.

Al aplicar el mismo grupo por cláusula en la instrucción SELECT, obtendremos el resultado citado a continuación. Puede observar que la fila recién ingresada no está agrupada.

Ejemplo 4
Los ejemplos anteriores tratan con la extracción y agrupación del día de acuerdo con la función de la fecha. Pero ahora, usaremos los días de los nombres de la semana como valor de cadena. Usaremos un grupo por cláusula para agrupar las filas de acuerdo con los mismos días. Cree una nueva tabla llamada Match que tenga ID, nombre y el día del partido como atributos.

>> Crear Match de tabla (ID Integer, Nombre Varchar (10), Day Varchar (10));

Ahora ingresaremos datos utilizando una instrucción Insertar. Los datos del día de la columna contendrán el nombre de los días que tienen algunos valores similares.

Ahora aplicaremos el grupo por cláusula para combinar los mismos días en la columna del día como una columna resultante de un combine_match.

>> Seleccione el día como combine_match, cuenta (id) como recuento desde el grupo de coincidencias por día;

Según el comando, los mismos días se agrupan en la columna. Y los que no eran lo mismo se mencionan de forma independiente.

Ahora nuevamente insertaremos una fila que tiene el mismo nombre del partido con el mismo nombre del día. Las filas anteriores tienen datos que tienen nombres de coincidencias diferentes con los mismos días.

Use el grupo por cláusula junto con dos nombres de columnas y el día. Ahora, solo esas filas con los mismos nombres y días se agrupan. Mientras que otros se muestran sin agrupar.

>> seleccionar nombre, día, recuento (ID) del grupo de coincidencias por día de nombre;

Conclusión

El artículo 'Postgres Group by Day' describe la implementación en el idioma PostgreSQL en Windows 10 utilizando PSQL Shell. Hemos incluido las funciones incorporadas en las funciones de la fecha y también en los datos ingresados ​​manualmente a través de comandos. El grupo por cláusula ayuda a administrar datos para mantener el mismo tipo de datos alineados e intactos.