PostgreSQL – Función ARRAY_AGG()

La función PostgreSQL ARRAY_AGG() es una función agregada que acepta un conjunto de valores y devuelve una array donde cada valor en el conjunto de entrada se asigna a un elemento de la array.

Syntax: ARRAY_AGG(expression [ORDER BY [sort_expression {ASC | DESC}], [...])

La cláusula ORDER BY es una cláusula voluntaria. Especifica el orden de las filas que se procesan en la colección, lo que establece el orden de los elementos en la array de resultados. A menudo se usa con la cláusula GROUP BY .
Ahora veamos algunos ejemplos.
Ejemplo 1:
Usaremos las tablas film, film_actor y en la base de datos de ejemplo de dvdrental para la demostración. En este ejemplo, consultaremos la lista de títulos de películas y una lista de actores para cada película usando la función ARRAY_AVG() de la siguiente manera:actor

SELECT
    title,
    ARRAY_AGG (first_name || ' ' || last_name) actors
FROM
    film
INNER JOIN film_actor USING (film_id)
INNER JOIN actor USING (actor_id)
GROUP BY
    title
ORDER BY
    title;

Producción:

Ejemplo 2:
aquí usaremos la función ARRAY_AGG() para devolver una lista de películas y una lista de actores para cada película ordenados por el nombre del actor usando los siguientes comandos:

SELECT
    title,
    ARRAY_AGG (
        first_name || ' ' || last_name
        ORDER BY
            first_name
    ) actors
FROM
    film
INNER JOIN film_actor USING (film_id)
INNER JOIN actor USING (actor_id)
GROUP BY
    title
ORDER BY
    title;

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 *