PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

jak sprawić, by array_agg() działała jak group_concat() z mySQL

W PostgreSQL 8.4 nie możesz jawnie zamówić array_agg ale możesz to obejść, porządkując wiersze przekazywane do grupy/agregatu za pomocą podzapytania:

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

W PostgreSQL 9.0 wyrażenia agregujące mogą mieć ORDER BY klauzula:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zidentyfikować problemy z wydajnością PostgreSQL za pomocą powolnych zapytań

  2. Jak mogę umieścić bazę danych pod git (kontrola wersji)?

  3. Czy rozszerzenie języka JavaScript plv8 może wywoływać biblioteki innych firm?

  4. Uzyskiwanie nieznanego klucza podstawowego dla tabeli, gdy identyfikator jest tam

  5. Postgres FOR LOOP