sql >> Base de Datos >  >> RDS >> PostgreSQL

Agrupar por columna especificada en PostgreSQL

Tendrás que definir, cómo para agrupar valores que comparten el mismo category_id . ¿Concatenarlos? ¿Calcular una suma?

Para crear listas de valores separados por comas, su declaración podría verse así:

SELECT category_id
      ,string_agg(col1, ', ') AS col1_list
      ,string_agg(col2, ', ') AS col2_list
FROM   items
GROUP  BY category_id

Necesita Postgres 9.0 o posterior para string_agg(col1, ', ') .En versiones anteriores, puede sustituirlo por array_to_string(array_agg(col1), ', ') . Más funciones agregadas aquí .

Agregar valores en PostgreSQL es el enfoque claramente superior en comparación con agregar valores en el cliente. Postgres es muy rápido en esto y reduce el tráfico (de red).