ARRAY_AGG

Aggregate

Collects values from multiple rows into an array (PostgreSQL).

Syntax

ARRAY_AGG(col [ORDER BY col])

Example

SELECT category,
       ARRAY_AGG(name ORDER BY price DESC) as products
FROM products
GROUP BY category;

About SQL ARRAY_AGG

The ARRAY_AGG keyword belongs to the Aggregate category of SQL statements. Collects values from multiple rows into an array (PostgreSQL). Understanding this command is essential for any developer working with relational databases like PostgreSQL, MySQL, SQLite, or SQL Server.

SQL (Structured Query Language) is the standard language for managing and querying relational databases. The ARRAY_AGG statement is supported across all major database systems, though specific syntax may vary slightly between PostgreSQL, MySQL, MariaDB, Oracle, SQL Server, and SQLite. Always consult your database's documentation for vendor-specific features and limitations.

Best practices for using ARRAY_AGG: always test queries on a development database before running them in production, use parameterized queries to prevent SQL injection, and leverage EXPLAIN to understand query performance. For complex queries, consider using CTEs (Common Table Expressions) to improve readability and maintainability.

Related SQL Keywords