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
Lepaskan: 2025-01-15 08:40:47
asal
348 orang telah melayarinya

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:

SELECT
    movie,
    string_agg(actor, ', ') AS actors
FROM
    tbl
GROUP BY
    movie;
Salin selepas log masuk

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():

string_agg(actor, ', ' ORDER BY actor) AS actors
Salin selepas log masuk

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