Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Nilai Medan dalam PostgreSQL untuk Berbilang Rekod dengan ID Tunggal?

Bagaimana untuk Menggabungkan Nilai Medan dalam PostgreSQL untuk Berbilang Rekod dengan ID Tunggal?

Barbara Streisand
Lepaskan: 2025-01-21 09:32:16
asal
278 orang telah melayarinya

How to Concatenate Field Values in PostgreSQL for Multiple Records with a Single ID?

Menggabungkan nilai medan dalam PostgreSQL untuk berbilang rekod dan satu ID

Banyak aplikasi pangkalan data memerlukan gabungan berbilang nilai yang berkaitan dengan pengecam tunggal ke dalam rentetan sambungan tunggal. Operasi ini amat berguna apabila menanyakan jadual dengan berbilang rekod bagi setiap ID unik.

Fungsi GROUP_CONCAT dalam MySQL

Dalam MySQL, fungsi GROUP_CONCAT menyediakan cara langsung untuk mencapai matlamat ini. Walau bagaimanapun, fungsi GROUP_CONCAT tidak tersedia secara langsung dalam PostgreSQL.

PostgreSQL yang setara dengan GROUP_CONCAT

Dalam PostgreSQL, fungsi string_agg adalah setara dengan GROUP_CONCAT MySQL. Fungsi ini membolehkan anda menggabungkan rentetan sambil menentukan pembatas (seperti koma) untuk memisahkan nilai yang digabungkan.

Contoh: Pertanyaan PostgreSQL menggunakan string_agg

Pertimbangkan jadual contoh yang disediakan dalam soalan asal:

id some_column
TM67 4
TM67 9
TM67 72
TM99 2
TM99 3

Pertanyaan PostgreSQL berikut boleh digunakan untuk menggabungkan nilai lajur some_column untuk setiap id unik:

<code class="language-sql">SELECT
   id,
   string_agg(some_column::text, ',') AS values
FROM
   the_table
GROUP BY
   id;</code>
Salin selepas log masuk

Keputusan:

id values
TM67 4,9,72
TM99 2,3

Pertanyaan ini mendapatkan semula satu baris untuk setiap id unik dan menggabungkan nilai beberapa lajur lajur ke dalam rentetan tunggal dengan koma sebagai pembatas.

Nota: Fungsi string_agg telah diperkenalkan dalam PostgreSQL versi 9.0. Untuk versi PostgreSQL yang lebih awal, anda boleh menggunakan pelanjutan generate_series atau group_concat_agg sebagai alternatif untuk mencapai fungsi yang sama. Penukaran jenis some_column::text memastikan walaupun some_column bukan jenis teks, ia akan digabungkan dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Nilai Medan dalam PostgreSQL untuk Berbilang Rekod dengan ID Tunggal?. 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