Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengagregatkan Berbilang Baris ke Baris Tunggal dalam Oracle SQL?
Dalam pangkalan data Oracle, anda mungkin perlu menggabungkan berbilang baris dalam jadual menjadi satu baris, mencipta struktur jadual dengan berbilang lajur. Katakan terdapat jadual dengan skema berikut:
<code>A 1 A 2 B 1 B 2</code>
Untuk mencapai hasil yang dijangkakan berikut:
<code>A 1 2 B 1 2</code>
Oracle menyediakan fungsi SQL khusus untuk memenuhi keperluan ini:
Amaran: Fungsi WM_CONCAT kini ditamatkan dan telah dialih keluar dalam Oracle 12c dan lebih baru. Menggunakannya dalam versi yang lebih baru boleh menyebabkan hasil yang tidak dapat diramalkan.
<code class="language-sql">SELECT field1, WM_CONCAT(field2) FROM YourTable GROUP BY field2;</code>
Untuk versi Oracle yang lebih baharu, disyorkan untuk menggunakan fungsi LISTAGG:
<code class="language-sql">SELECT field1, LISTAGG(field2, ',') WITHIN GROUP (ORDER BY field2) FROM YourTable GROUP BY field1;</code>
Jika fungsi WM_CONCAT mahupun LISTAGG tidak tersedia dalam versi Oracle anda, anda boleh melaksanakan pengagregatan tersuai dengan mengikuti langkah berikut:
Sila ambil perhatian bahawa pengagregatan tersuai mungkin lebih kompleks dan intensif pengiraan daripada menggunakan fungsi yang dipratentukan.
Atas ialah kandungan terperinci Bagaimana untuk Mengagregatkan Berbilang Baris ke Baris Tunggal dalam Oracle SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!