Sin embargo, PostgreSQL no admite de forma nativa la función group_concat() a diferencia de MySQL. Por lo tanto, este tutorial explora cómo podemos lograr una funcionalidad similar usando la función string_agg().
Función PostgreSQL String_Agg
La función string_agg en PostgreSQL nos permite concatenar los valores de varias filas en una sola cadena y está separada por el parámetro especificado.
El uso de la sintaxis de la función se demuestra de la siguiente manera:
SELECCIONE string_agg (column_name, delimitador)
DESDE table_name
DONDE condiciones
AGRUPAR POR grouping_columns;
La siguiente sintaxis se expresa de la siguiente manera:
nombre_columna – Especifica el nombre de la columna cuya columna deseamos concatenar.
delimitador – Define el carácter separador que se utiliza al unir los valores de entrada.
nombre de la tabla – La tabla de destino que contiene los datos.
grouping_columns – Especifica las columnas que se utilizan para agrupar los datos especificados.
Ejemplo de función de PostgreSQL String_Agg
Tomemos un ejemplo más práctico para ilustrar cómo funciona la función. Supongamos que tenemos una tabla que contiene la información del estudiante. La tabla contiene tres columnas: id, nombre y asunto.
Si deseamos concatenar los nombres de los alumnos matriculados en una misma materia, podemos utilizar la función string_agg.
SELECCIONE asunto, string_agg ( nombre, ',' ) como estudiantesDE estudiantes
AGRUPAR POR tema;
Una vez que ejecutamos la consulta dada, debería devolver un conjunto de resultados con dos columnas principales: el tema y los estudiantes. Los alumnos contienen los nombres concatenados de los alumnos de cada asignatura y están separados por una coma.
NOTA : La función string_agg ordena los valores concatenados por defecto. Puede agregar una cláusula ORDER BY dentro de la función string_agg para mantener el orden original.
¡Ahí tienes! Un método directo y eficiente para lograr una funcionalidad similar proporcionada por la función group_concat() en PostgreSQL.
Conclusión
En este breve pero efectivo tutorial, aprendimos cómo usar la función string_agg en PostgreSQL para lograr una funcionalidad similar a la proporcionada por la función group_concat() en MySQL.