PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Setara group_concat di postgresql 8.2.11

"tidak cukup duplikat" di komentar akan mengarahkan Anda ke arah yang benar:buat agregat Anda sendiri fungsi . Pertama, Anda memerlukan fungsi penggabungan string non-agregat, seperti ini:

create function concat(t1 text, t2 text) returns text as $$
begin
    return t1 || t2;
end;
$$ language plpgsql;

Kemudian Anda dapat menentukan versi agregat Anda sendiri dari fungsi tersebut:

create aggregate group_concat(
    sfunc    = concat,
    basetype = text,
    stype    = text,
    initcond = ''
);

Sekarang Anda dapat group_concat semua yang Anda inginkan:

select group_concat(s)
from t
group by g

Saya menggali ini dari arsip saya, tetapi saya pikir ini akan berfungsi di 8.2.

Perlu diingat bahwa 8.2 tidak lagi didukung sehingga Anda mungkin ingin meningkatkan ke setidaknya 8.4 sesegera mungkin.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres bagaimana menerapkan kolom terhitung dengan klausa

  2. Bagaimana menghubungkan postgresql di hibernate.cfg.xml

  3. Bisakah NLTK digunakan dalam Prosedur Tersimpan Postgres Python?

  4. Ekspor tabel dari database Postgres (di server) ke file csv (di lokal) di java

  5. Menggunakan gabungan untuk menggabungkan data dari tabel yang berbeda di PostgreSQL