Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menggabungkan Pelakon untuk Setiap Filem dalam Jadual SQL?

Bagaimana untuk Menggabungkan Pelakon untuk Setiap Filem dalam Jadual SQL?

Mary-Kate Olsen
Lepaskan: 2025-01-15 06:27:43
asal
344 orang telah melayarinya

How to Concatenate Actors for Each Movie in a SQL Table?

Menggabungkan Nama Pelakon untuk Setiap Filem dalam Jadual SQL

Bayangkan jadual dengan lajur "Filem" dan "Pelakon". Tugasnya ialah untuk mendapatkan semula senarai filem dan pelakon yang sepadan, dengan semua pelakon untuk setiap filem digabungkan menjadi satu rentetan.

Penyelesaian menggunakan string_agg():

Kaedah yang paling berkesan menggunakan fungsi string_agg() (tersedia dalam PostgreSQL 9.0 dan lebih baru):

<code class="language-sql">SELECT movie, string_agg(actor, ', ') AS actor_list
FROM table_name
GROUP BY movie;</code>
Salin selepas log masuk

string_agg() menggabungkan nama pelakon, dipisahkan dengan koma, untuk setiap filem. GROUP BY movie memastikan satu baris setiap filem.

Alternatif untuk Versi PostgreSQL Lama (pra-9.0):

Untuk versi PostgreSQL yang lebih lama, gunakan array_agg() dan array_to_string():

<code class="language-sql">SELECT movie, array_to_string(array_agg(actor ORDER BY actor), ', ') AS actor_list
FROM table_name
GROUP BY movie;</code>
Salin selepas log masuk

Ini mengagregatkan pelakon ke dalam tatasusunan, kemudian menukarnya kepada rentetan yang dipisahkan koma. Klausa ORDER BY actor mengisih pelakon mengikut abjad dalam senarai setiap filem.

Menyesuaikan Susunan Senarai Pelakon:

Untuk mengawal susunan pelakon dalam setiap senarai (cth., mengikut susunan pengebilan), tambah ORDER BY di dalam string_agg() atau array_agg():

<code class="language-sql">SELECT movie, string_agg(actor, ', ' ORDER BY actor) AS actor_list  --Alphabetical order
FROM table_name
GROUP BY movie;</code>
Salin selepas log masuk

Pendekatan ini memperkemas persembahan perhubungan pelakon filem, memudahkan analisis dan paparan data.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Pelakon untuk Setiap Filem dalam Jadual SQL?. 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