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
FungsiPostgreSQL 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:
<code class="language-sql">GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])</code>
Parameter:
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>
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.
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>
Sintaks ini bersamaan dengan sintaks GROUP_CONCAT
yang diterangkan di atas.
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!