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

PostgreSQL array_agg(INTEGER[])

Kontynuując dyskusję w komentarzach, moją osobistą sugestią jest utworzenie agregatu.

CREATE AGGREGATE array_concat_agg(anyarray) (
  SFUNC = array_cat,
  STYPE = anyarray
);

Następnie możesz to zrobić:

SELECT column1
  FROM (VALUES (array[1,2,3]), (array[3,4]), (array[53,43,33,22])) arr;
    column1
---------------
 {1,2,3}
 {3,4}
 {53,43,33,22}
(3 rows)

SELECT array_concat_agg(column1)
  FROM (VALUES (array[1,2,3]), (array[3,4]), (array[53,43,33,22])) arr;
    array_concat_agg
-------------------------
 {1,2,3,3,4,53,43,33,22}
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lokalny host Laravel działa, ale heroku daje błąd 500

  2. Krok po kroku postgres_fdw

  3. org.postgresql.util.PSQLException:BŁĄD:nie można serializować dostępu z powodu zależności odczytu/zapisu między transakcjami

  4. Pgadmin się nie ładuje

  5. Odpowiednik ROWID w postgresie 9.2