


Bagaimanakah Saya Boleh Menggabungkan Nilai Merentas Berbilang Baris dalam PostgreSQL?
Sambungan nilai baris data PostgreSQL
Dalam operasi pangkalan data hubungan, selalunya perlu memproses data sebelum mendapatkan hasil akhir. Tugas biasa adalah untuk menggabungkan nilai daripada berbilang baris berdasarkan pengecam biasa. Dalam PostgreSQL, fungsi GROUP_CONCAT
menyediakan penyelesaian mudah untuk ini.
GROUP_CONCAT
Fungsi
PostgreSQL versi 9.0 dan ke atas memperkenalkan GROUP_CONCAT
fungsi pengagregatan, yang mengambil set nilai dalam lajur dan menggabungkannya menjadi satu rentetan. Sintaks GROUP_CONCAT
adalah seperti berikut:
GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])
Parameter:
- BERBEZA: (pilihan) Menghalang nilai pendua daripada disertakan dalam keputusan.
- ungkapan: Lajur atau ungkapan untuk disertai.
- PESANAN OLEH: (pilihan) Menentukan susunan nilai yang digabungkan.
- pemisah: (pilihan) Aksara atau rentetan yang digunakan untuk mengasingkan nilai yang digabungkan. Lalai ialah koma (,).
Contoh
Pertimbangkan jadual berikut bernama "data_sampel":
id | value |
---|---|
TM67 | 4 |
TM67 | 9 |
TM67 | 72 |
TM99 | 2 |
TM99 | 3 |
Untuk menyertai nilai dalam lajur "nilai" bagi setiap "id" unik, kita boleh menggunakan GROUP_CONCAT
seperti ini:
SELECT id, GROUP_CONCAT(value) AS concatenated_values FROM sample_data GROUP BY id;
Pertanyaan ini akan menghasilkan output berikut:
id | concatenated_values |
---|---|
TM67 | 4,9,72 |
TM99 | 2,3 |
Seperti yang anda lihat, nilai untuk setiap "id" disatukan dan dipisahkan dengan koma.
Sintaks alternatif untuk PostgreSQL 9.0
Bermula dengan PostgreSQL versi 9.0, sintaks alternatif untuk GROUP_CONCAT
boleh digunakan:
SELECT id, string_agg(value, ',') AS concatenated_values FROM sample_data GROUP BY id;
Sintaks ini bersamaan dengan sintaks GROUP_CONCAT
yang diterangkan di atas.
Kesimpulan
Anda boleh menyertai berbilang baris data dengan mudah dalam PostgreSQL dengan menggunakan fungsi GROUP_CONCAT
atau string_agg
. Sintaks yang anda pilih bergantung pada versi PostgreSQL dan pilihan peribadi anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Nilai Merentas Berbilang Baris dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)?

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?
