Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Nilai Medan dalam PostgreSQL?
Dalam sesetengah aplikasi pangkalan data, adalah perlu untuk mendapatkan satu baris untuk setiap pengecam unik daripada jadual dan menggabungkan nilai medan yang sepadan. Contohnya, diberikan jadual yang mengandungi data berikut:
ID | 列A | 列B |
---|---|---|
TM67 | 4 | 32556 |
TM67 | 9 | 98200 |
TM67 | 72 | 22300 |
TM99 | 2 | 23009 |
TM99 | 3 | 11200 |
Keluaran yang dijangkakan adalah seperti berikut:
ID | 列A | 列B |
---|---|---|
TM67 | 4,9,72 | 32556,98200,22300 |
TM99 | 2,3 | 23009,11200 |
Dalam MySQL, fungsi agregat GROUP_CONCAT biasanya digunakan untuk mencapai tujuan ini. Walau bagaimanapun, tiada persamaan langsung dalam PostgreSQL.
Nasib baik, PostgreSQL menyediakan beberapa mekanisme alternatif untuk mencapai hasil yang sama:
<code class="language-sql">SELECT id, string_agg(some_column, ',') FROM the_table GROUP BY id</code>
Kaedah ini menggunakan fungsi string_agg (diperkenalkan dalam PostgreSQL 9.0) untuk mengagregatkan nilai lajur yang ditentukan ke dalam rentetan yang dipisahkan koma. Klausa GROUP BY memastikan bahawa operasi pengagregatan dilakukan secara berasingan untuk setiap ID unik.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Nilai Medan dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!