Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggabungkan Nilai Merentas Berbilang Baris dalam PostgreSQL?

Bagaimanakah Saya Boleh Menggabungkan Nilai Merentas Berbilang Baris dalam PostgreSQL?

Patricia Arquette
Lepaskan: 2025-01-21 09:22:14
asal
203 orang telah melayarinya

How Can I Concatenate Values Across Multiple Rows in 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_CONCATfungsi pengagregatan, yang mengambil set nilai dalam lajur dan menggabungkannya menjadi satu rentetan. Sintaks GROUP_CONCAT adalah seperti berikut:

<code class="language-sql">GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])</code>
Salin selepas log masuk

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:

<code class="language-sql">SELECT id, GROUP_CONCAT(value) AS concatenated_values
FROM sample_data
GROUP BY id;</code>
Salin selepas log masuk

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:

<code class="language-sql">SELECT id, string_agg(value, ',') AS concatenated_values
FROM sample_data
GROUP BY id;</code>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan