sql >> Databáze >  >> RDS >> PostgreSQL

jak zajistit, aby array_agg() fungovalo jako group_concat() z mySQL

V PostgreSQL 8.4 nemůžete explicitně objednat array_agg ale můžete to obejít tak, že seřadíte řádky předané do skupiny/agregátu pomocí poddotazu:

SELECT id, array_to_string(array_agg(image), ',')
FROM (SELECT * FROM test ORDER BY id, rank) x
GROUP BY id;

V PostgreSQL 9.0 mohou mít agregační výrazy ORDER BY klauzule:

SELECT id, array_to_string(array_agg(image ORDER BY rank), ',')
FROM test
GROUP BY id;



  1. Jednoduchý přihlašovací/autorizační systém využívající Dancer a Postgres

  2. Povolit, aby číslo začínalo nulou, když je uloženo v poli mysql integer

  3. Jak přidat sloupec v SQL

  4. musím v Coldfusion upravovat rozsah výstupu dotazu?