# How to Get Query Results as a Comma Separated List in PostgreSQL

> The PostgreSQL users can transform a string or a query result into a comma-separated list using a built-in aggregate function named STRING_AGG().

In databases, users may encounter a situation where query’s each value is supposed to be output in a single row with a specific delimiter. For this purpose, the Postgres **STRING_AGG()** function can be utilized. The PostgreSQL users can transform a string or a query result into a comma-separated list using a built-in aggregate function named STRING_AGG().

This post will demonstrate how to get query results as a Comma Separated List in Postgres.

 **How to Get Query Results as a Comma-Separated List in PostgreSQL?**

To get the query results as a comma-separated list, all you need to do is pass the query to be aggregated as an argument to the STRING_AGG() function. Moreover, you are also required to specify the delimiter or separator:
    
    
    STRING_AGG(expression, separator);

The expression can be a table column while the separator can be anything like a string, character, or symbol.

 **Example1: Getting Query Result as a List of Comma-Separated Values**

We have a sample table named “product_details” with the following records:
    
    
    SELECT * FROM product_details;

Now, we will execute the SELECT query with the STRING_AGG() function to get the query result as a comma-separated list:
    
    
    SELECT STRING_AGG(pro_name, ',') AS products
    FROM product_details;

The above snippet depicts that the query results have been successfully retrieved as a comma-separated list.

 **Example2: Grouping Query Result as a List of Comma-Separated Values**

Mostly, the STRING_AGG() function is used with the GROUP BY clause to group the query result as a comma-separated list:
    
    
    SELECT pro_quantity, STRING_AGG(pro_name, ',') AS products
    FROM product_details
    GROUP BY pro_quantity;

The output shows that the products are grouped based on the “pro_quantity” column and each group contains a list of comma-separated products.

That was all about getting the query results as a comma-separated list in Postgres.

 **Conclusion**

The PostgreSQL users can transform a string or a query result into a comma-separated list using a built-in aggregate function named **STRING_AGG()**. For this purpose, all you need to do is pass the query to be aggregated as a first argument and a delimiter as a second argument to the STRING_AGG() function. This post has explained a detailed procedure for getting the results as a comma-separated list in Postgres.

---
[View this page online](https://www.commandprompt.com/education/how-to-get-query-results-as-a-comma-separated-list-in-postgresql/)