PostgreSQL

Cara Menggunakan Fungsi PostgreSQL ARRAY_AGG?

Cara Menggunakan Fungsi PostgreSQL ARRAY_AGG?
Metode agregat ARRAY_AGG() adalah salah satu metode yang digunakan di PostgreSQL, yang mengambil beberapa nilai input dan menggabungkannya ke dalam array, termasuk nilai NULL. Ini mengembalikan array dengan setiap nilai dari grup input sebagai bagian. Untuk mengurutkan hasil yang ditetapkan melalui fungsi PostgreSQL ARRAY_AGG, Anda akan menggunakan frasa ORDER BY. Anda juga dapat menggunakan klausa WHERE bila diperlukan.

Untuk memahami metode ARRAY_Agg() agregat, Anda harus melakukan beberapa contoh. Untuk tujuan ini, buka shell baris perintah PostgreSQL. Jika Anda ingin mengaktifkan Server lain, lakukan dengan memberikan namanya. Jika tidak, biarkan ruang kosong dan tekan tombol Enter untuk melompat ke Database. Jika Anda ingin menggunakan database default, e.g., Postgres, lalu biarkan apa adanya dan tekan Enter; jika tidak, tulis nama database, e.g., "tes", seperti yang ditunjukkan pada gambar di bawah ini. Jika Anda ingin menggunakan port lain, tuliskan, jika tidak, biarkan saja dan ketuk Enter untuk melanjutkan. Ini akan meminta Anda untuk menambahkan nama pengguna jika Anda ingin beralih ke nama pengguna lain. Tambahkan nama pengguna jika Anda mau, jika tidak, cukup tekan "Enter". Pada akhirnya, Anda harus memberikan kata sandi pengguna Anda saat ini, untuk mulai menggunakan baris perintah menggunakan pengguna tertentu seperti di bawah ini. Setelah berhasil memasukkan semua informasi yang diperlukan, Anda siap melakukannya.

Penggunaan ARRAY_AGG Pada Kolom Tunggal:

Pertimbangkan tabel "orang" dalam "tes" database yang memiliki tiga kolom; “id”, “nama”, dan “umur”. Kolom "id" memiliki id semua orang. Sedangkan field 'name' berisi nama-nama orang dan kolom 'umur' umur semua orang.

>> PILIH * DARI orang;

Bergantung pada tabel overhead, kita harus menerapkan metode ARRAY_AGG agregat untuk mengembalikan daftar array dari semua nama tabel melalui kolom "nama". Dengan ini, Anda harus menggunakan fungsi ARRAY_AGG() dalam kueri SELECT untuk mengambil hasil dalam bentuk array. Coba kueri yang dinyatakan di shell perintah Anda dan dapatkan hasilnya. Seperti yang Anda lihat, kami memiliki kolom output di bawah ini "array_agg" yang memiliki nama yang tercantum dalam array untuk kueri yang sama.

>> PILIH ARRAY_AGG(nama) DARI orang;

Penggunaan ARRAY_AGG Pada Beberapa Kolom Dengan Klausa ORDER BY:

Contoh 01:

Menerapkan fungsi ARRAY_AGG ke beberapa kolom saat menggunakan klausa ORDER BY, pertimbangkan tabel "orang" yang sama dalam "pengujian" database yang memiliki tiga kolom; “id”, “nama”, dan “umur”. Dalam contoh ini, kita akan menggunakan klausa GROUP BY.

>> PILIH * DARI orang;

Kami telah menggabungkan hasil kueri SELECT dalam daftar array saat menggunakan dua kolom "nama" dan "usia". Dalam contoh ini, kami telah menggunakan spasi sebagai karakter khusus yang telah digunakan untuk menggabungkan kedua kolom ini sejauh ini. Di sisi lain, kami telah mengambil kolom "id" secara terpisah. Hasil array yang digabungkan akan ditampilkan di kolom "persondata" pada saat run time. Kumpulan hasil pertama-tama akan dikelompokkan berdasarkan "id" orang tersebut dan diurutkan dalam urutan menaik dari bidang "id". Mari kita coba perintah di bawah ini di shell dan lihat sendiri hasilnya. Anda dapat melihat bahwa kami memiliki larik terpisah untuk setiap nilai gabungan nama-usia pada gambar di bawah ini.

>> SELECT id, ARRAY_AGG (name ||"|| age) as persondata FROM person GROUP BY id ORDER BY id;



Contoh 02:

Pertimbangkan tabel "Karyawan" yang baru dibuat dalam database "tes" yang memiliki lima kolom; “id”, “nama”, “gaji”, “umur”, dan “email”. Tabel tersebut menyimpan semua data tentang 5 Karyawan yang bekerja di sebuah perusahaan. Dalam contoh ini, kita akan menggunakan karakter khusus '-' untuk menggabungkan dua bidang alih-alih menggunakan spasi saat menggunakan klausa GROUP BY dan ORDER BY.

>> PILIH * DARI Karyawan;

Kami menggabungkan data dari dua kolom, "nama" dan "email" dalam sebuah array saat menggunakan '-' di antara keduanya. Sama seperti sebelumnya, kami mengekstrak kolom "id" dengan jelas. Hasil kolom gabungan akan ditampilkan sebagai "emp" pada waktu berjalan. Kumpulan hasil pertama-tama akan dirangkai oleh "id" orang tersebut, dan setelah itu akan diatur dalam urutan menaik dari kolom "id". Mari kita coba perintah yang sangat mirip di shell dengan sedikit perubahan dan lihat konsekuensinya. Dari hasil di bawah ini, Anda telah memperoleh array yang berbeda untuk setiap nilai gabungan nama-email yang disajikan dalam gambar sementara tanda '-' digunakan di setiap nilai.

>> SELECT id, ARRAY_AGG (name || '-' || email) AS emp FROM Employee GROUP BY id ORDER BY id;

Penggunaan ARRAY_AGG Pada Beberapa Kolom Tanpa Klausa ORDER BY:

Anda juga dapat mencoba metode ARRAY_AGG pada tabel mana pun tanpa menggunakan klausa ORDER BY dan GROUP BY. Asumsikan tabel "aktor" yang baru dibuat di "pengujian" database lama Anda memiliki tiga kolom; “id”, “nama-nama”, dan “nama-l”. Tabel berisi data tentang nama depan dan nama belakang aktor beserta id mereka their.

>> PILIH * DARI aktor;

Jadi, gabungkan dua kolom "fname" dan "lname" dalam daftar array sambil menggunakan spasi di antara keduanya, sama seperti yang Anda lakukan dalam dua contoh terakhir. Kami belum mengeluarkan kolom 'id' dengan jelas dan telah menggunakan fungsi ARRAY_AGG dalam kueri SELECT. Kolom gabungan array yang dihasilkan akan disajikan sebagai "aktor". Coba kueri yang dinyatakan di bawah ini di shell perintah dan lihat sekilas array yang dihasilkan. Kami telah mengambil satu larik dengan nilai gabungan nama-email yang disajikan, dipisahkan dengan koma dari hasilnya.

Kesimpulan:

Akhirnya, Anda hampir selesai menjalankan sebagian besar contoh yang diperlukan untuk memahami metode agregat ARRAY_AGG. Cobalah lebih banyak dari mereka di akhir Anda untuk pemahaman dan pengetahuan yang lebih baik.

Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...
Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...
Cara mengubah penunjuk Mouse dan ukuran kursor, warna & skema pada Windows 10
Penunjuk mouse dan kursor di Windows 10 adalah aspek yang sangat penting dari sistem operasi. Ini dapat dikatakan untuk sistem operasi lain juga, jadi...