Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggabungkan Berbilang Nama Pelakon ke dalam Lajur Tunggal setiap Filem dalam SQL?

Bagaimanakah Saya Boleh Menggabungkan Berbilang Nama Pelakon ke dalam Lajur Tunggal setiap Filem dalam SQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-15 08:40:47328semak imbas

How Can I Combine Multiple Actor Names into a Single Column per Movie in SQL?

Menyatukan Berbilang Nama Pelakon menjadi Lajur Tunggal setiap Filem dalam SQL

Mengusahakan pangkalan data filem selalunya memerlukan meringkaskan maklumat pelakon untuk setiap filem. Ini melibatkan penggabungan berbilang nama pelakon yang dikaitkan dengan satu filem ke dalam satu entri lajur.

Penyelesaian SQL

PostgreSQL menyediakan fungsi string_agg(), sesuai untuk tugasan ini. Berikut ialah pertanyaan yang menunjukkan penggunaannya:

<code class="language-sql">SELECT
    movie,
    string_agg(actor, ', ') AS actors
FROM
    tbl
GROUP BY
    movie;</code>

Pertanyaan ini:

  • movie: Menentukan lajur yang memegang tajuk filem.
  • actor: Menentukan lajur penyenaraian nama pelakon.
  • string_agg(actor, ', '): Fungsi ini menggabungkan nama pelakon untuk setiap filem, memisahkannya dengan koma dan ruang.
  • GROUP BY movie: Kumpulkan hasil, memastikan satu baris setiap filem.

Penjelasan Terperinci

Fungsi string_agg() cemerlang dalam menggabungkan berbilang baris menjadi nilai rentetan tunggal. Di sini, ia mencipta senarai pelakon yang dipisahkan koma untuk setiap filem.

Untuk senarai pelakon yang diisih, masukkan klausa ORDER BY dalam string_agg():

<code class="language-sql">string_agg(actor, ', ' ORDER BY actor) AS actors</code>

Walau bagaimanapun, subkueri selalunya menawarkan prestasi yang lebih baik untuk pengisihan.

Kelebihan string_agg()

  • Memperkemas pemprosesan data dengan mengagregatkan berbilang baris menjadi nilai tunggal.
  • Meningkatkan persembahan data dengan mengumpulkan data pelakon yang berkaitan untuk setiap filem.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Nama Pelakon ke dalam Lajur Tunggal setiap Filem dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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