PostgreSQL – Función STRING_AGG()

La función STRING_AGG() en PostgreSQL es una función agregada que se usa para concatenar una lista de strings y colocar un separador entre ellas.

Syntax: STRING_AGG ( expression, separator [order_by_clause] )

Analicemos la sintaxis anterior. La función anterior acepta dos argumentos y una cláusula ORDER BY opcional.

  • expressiones cualquier expresión válida que pueda resolverse en una string de caracteres.
  • separator es el separador de strings concatenadas.

Ahora veamos algunos ejemplos. Para ejemplos, usaremos la base de datos de muestra (es decir, dvdrental ).

Ejemplo 1:
Consultaremos una lista de nombres de actores para cada película de la film tabla usando el siguiente comando:

SELECT
    f.title,
    STRING_AGG (
    a.first_name || ' ' || a.last_name,
        ', '
       ORDER BY
        a.first_name,
        a.last_name
    ) actors
FROM
    film f
INNER JOIN film_actor fa USING (film_id)
INNER JOIN actor a USING (actor_id)
GROUP BY
    f.title;

Producción:

Ejemplo 2:
En este ejemplo, crearemos una lista de correo electrónico para cada país de la country tabla. El correo electrónico en cada lista separado por un punto y coma. Para hacerlo, usamos el siguiente comando:

SELECT
    country,
    STRING_AGG (email, ';') email_list
FROM
    customer
INNER JOIN address USING (address_id)
INNER JOIN city USING (city_id)
INNER JOIN country USING (country_id)
GROUP BY
    country
ORDER BY
    country;

Producción:

Publicación traducida automáticamente

Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *