Postgres String agg

Postgres String agg

Di PostgreSQL, ada fungsi agregat bawaan termasuk SUM, COUNT, ARRAY_AGG ( ), STRING_AGG ( ), AVG ( ), MAX, MIN dll. Tujuan useran fungsi agregat dalam kode Anda adalah untuk menentukan keluaran dari sekumpulan nilai. Pada artikel ini, kita akan membahas fungsi STRING_AGG ( ). STRING_AGG ( ) adalah fungsi agregat yang terdiri dari dua parameter; parameter pertama mengambil nilai input dan menggabungkan nilai menjadi string. Pada parameter kedua, Anda menentukan pembatas yang memisahkan parameter pertama.

Fungsi STRING_AGG ( ) dan fungsi ARRAY_AGG ( ) bekerja sama kecuali bahwa STRING_AGG ( ) adalah fungsi agregat yang mengembalikan hasil sebagai tipe string sedangkan fungsi ARRAY_AGG ( ) mengembalikan Anda tipe array sebagai hasil.

Artikel ini adalah panduan lengkap untuk menjelaskan fungsi agregat STRING_AGG ( ) di PostgreSQL. Anda akan menyaksikan berbagai contoh fungsi STRING_AGG ( ) di PostgreSQL dengan penjelasan terperinci. Sintaks berikut akan membantu Anda mendapatkan pemahaman dasar tentang useran fungsi STRING AGG() di PostgreSQL:

STRING_AGG ( value, delimiter )

Dalam sintaks di atas,

  • Pertama, tulis fungsi STRING_AGG() dengan tanda kurung ( ). Fungsi SRING_AGG() mengambil dua parameter.
  • Pada parameter pertama, ‘nilai’ adalah nilai teks apa pun yang merupakan karakter string. Jika Anda memasukkan tipe data selain karakter string, nilai tersebut tidak akan digunakan sebagai input.
  • Pada parameter kedua, ‘pembatas’ memisahkan string yang digabungkan.

STRING_AGG() juga menggunakan klausa ORDER BY dalam pernyataan. Ini opsional jika Anda ingin output berada dalam urutan tertentu, maka Anda dapat menggunakan klausa ORDER BY dengan fungsi STRING_AGG(). Di bawah ini adalah contoh useran klausa ORDER BY dalam pernyataan:

STRING_AGG ( value, delimiter [ ORDER_BY_CLAUSE ] )

Anda dapat menambahkan kondisi yang ditentukan dalam ‘ ORDER_BY_CLAUSE ‘ menggunakan fungsi ORDER BY dalam pernyataan seperti itu:

ORDER BY value1 ASC | DESC,...

Fungsi ORDER BY dapat dinyatakan dalam bentuk ascending atau descending pada pernyataan sesuai dengan nilai (value1) yang tertulis.

Anda juga dapat menggunakan klausa GROUP BY dalam pernyataan; itu memberitahu baris yang dikelompokkan dalam tabel.

STRING_AGG ( ) Function Examples in PostgreSQL:

Untuk menggunakan fungsi STRING_AGG ( ) dalam pernyataan, Anda harus terlebih dahulu membuat tabel sampel untuk contoh di PostgreSQL. Di bawah ini adalah kode untuk membuat tabel sampel di PostgreSQL:

CREATE TABLE players (

player_name TEXT,

team_name TEXT,

player_positon TEXT

) ;

Sintaks di atas akan membuat tabel di database dengan nama “pemain” dan kolom sebagai nama_pemain, nama_tim, dan posisi_pemain. PostgreSQL memberikan pesan berikut:

Untuk memverifikasi bahwa tabel dibuat dengan kolom yang ditentukan, jalankan kueri SELECT di bawah ini:

SELECT * FROM "players" ;

Interface user grafis, Deskripsi teks dibuat secara otomatis

Sekarang, masukkan beberapa nilai pada tabel “players” dengan perintah INSER INTO:

INSERT INTO "players"

VALUES ( 'Chris', 'West Indies', 'Batsman' ), ( 'Shannon', 'West Indies', 'Bowler'),

('Bravo', 'West Indies', 'Batsman');

INSERT INTO "players"

VALUES ( 'James', 'New Zealand', 'All rounder' );

INSERT INTO "players"

NILAI ( ‘Shaheen’, ‘Pakistan’, ‘Bowler’ ), ( ‘Sarfaraz’, ‘Pakistan’, ‘Penjaga gawang’ );

Nilai di atas dimasukkan ke dalam tabel “pemain” menggunakan perintah INSERT INTO dan VALUES dalam pernyataan, dan kami dapat mengonfirmasinya dengan menjalankan pernyataan SELECT di bawah ini:

SELECT * FROM "players" ;

Nilai yang ditentukan dalam perintah INSERT INTO sekarang berhasil dieksekusi dan dapat dilihat pada output di atas.

Menghasilkan Nilai yang Dipisahkan Koma Menggunakan STRING_AGG() di PostgreSQL:

Untuk menghasilkan daftar nilai yang dipisahkan dengan koma, kita akan menggunakan fungsi STRING_AGG ( ) dalam pernyataan. Di bawah ini adalah pernyataan untuk menghasilkan nilai yang dipisahkan dengan koma:

SELECT "team_name",string_agg("player_name", ',' )

FROM "players" GROUP BY "team_name" ;

Kami telah menggunakan fungsi STRING_AGG() untuk memisahkan kolom “player_name” dengan koma dalam pernyataan SELECT. Dalam parameter pertama STRING_AGG() ekspresi didefinisikan yang ingin kita pisahkan; di parameter kedua, kami telah menggunakan koma ‘, ‘ sebagai pembatas atau pemisah untuk memisahkan nilai. Kami telah menggunakan perintah GROUP BY untuk membagi baris sehubungan dengan kolom “nama_tim”. Output untuk sintaks di atas ditampilkan sebagai:

Nilai “player_name” digabungkan dengan koma pada output di atas dan ditampilkan dengan “team_name”.

Memisahkan Beberapa Kolom dengan Koma Menggunakan STRING_AGG() di PostgreSQL:

Kita dapat menggunakan lebih dari satu fungsi STRING_AGG() dalam pernyataan SELECT tunggal. Contoh di bawah ini menunjukkan demonstrasi itu:

SELECT "team_name",string_agg("player_name",', '), string_agg("player_positon",',')

FROM "players" GROUP BY "team_name";

Saya telah menggunakan dua fungsi STRING_AGG() dalam dua kolom berbeda untuk menggabungkan nilai kolom dengan pemisah koma. Pernyataan di atas menunjukkan hasil sebagai berikut:

Terlihat bahwa nilai dua kolom sekarang dipisahkan dengan koma dan menghasilkan daftar.

Kami tidak tahu nama kolom dalam output di atas mereka disebutkan sebagai nama “string_agg” default, kami dapat menentukan nama kolom menggunakan fungsi AS dalam pernyataan di atas. Ini adalah sintaks untuk menggunakan fungsi AS dan
menentukan nama ke kolom:

SELECT "team_name",string_agg ("player_name", ',') AS players_name,

string_agg ("player_positon", ',') AS players_positions

FROM "players" GROUP BY "team_name";

Dalam pernyataan di atas, dengan fungsi STRING_AGG(), saya telah menentukan kata kunci AS dengan nama yang diinginkan, menampilkan nama di kolom. Kita dapat melihat pada output di bawah ini:

Kolom yang pertama secara default bernama “string_agg” sekarang dinamai “players_name” dan “players_positions”.

Kesimpulan:

Kami telah belajar di artikel ini tentang fungsi STRING_AGG() di PostgreSQL, definisinya, userannya, dan implementasinya. Fungsi STRING_AGG() dapat digunakan untuk menghasilkan nilai yang dipisahkan koma dengan kolom tunggal dan ganda juga. Kata kunci AS dapat digunakan untuk menampilkan nama tertentu ke kolom yang dipilih.

Related Posts