Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris Data ke dalam Baris Tunggal Menggunakan Klausa GROUP BY SQL?
Gunakan GROUP BY untuk menggabungkan berbilang baris data menjadi satu baris
Semasa pemprosesan data, anda mungkin menghadapi jadual di mana setiap baris mewakili entiti unik dan lajur tertentu perlu disatukan merentas entiti ini. Ini berlaku apabila anda perlu menyertai berbilang baris hasil untuk lajur tertentu ke dalam satu baris.
Andaikan terdapat jadual bernama "ActorsInfo" dengan dua lajur: "Movie" dan "Actor". Setiap baris mewakili gabungan filem dan pelakon yang berkaitan. Matlamat anda adalah untuk mengubah data ini menjadi jadual baharu yang mengandungi lajur "Filem" dan lajur "ActorList" yang mengandungi senarai semua pelakon yang dipisahkan koma dalam setiap filem.
Untuk ini, klausa GROUP BY SQL amat berguna. GROUP BY membolehkan anda mengumpulkan baris berdasarkan nilai satu atau lebih lajur dan kemudian menggunakan fungsi agregat untuk mengira maklumat ringkasan dalam setiap kumpulan.
Kunci di sini ialah fungsi agregat string_agg(). Ia menggabungkan nilai dari lajur yang ditentukan, dipisahkan oleh pembatas pilihan anda. Dalam kes ini, sintaksnya ialah:
<code class="language-sql">SELECT Movie, string_agg(Actor, ', ') AS ActorList FROM ActorsInfo GROUP BY Movie;</code>
Kumpulkan baris mengikut tajuk filem dengan menyatakan "Filem" dalam klausa SELECT dan GROUP BY, dan hitung lajur ActorList dengan menggabungkan nilai Actor yang dipisahkan dengan koma.
Hasilnya ialah jadual baharu di mana setiap baris mewakili filem unik dan lajur "ActorList" mengandungi senarai lengkap semua pelakon yang terlibat dalam filem itu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Berbilang Baris Data ke dalam Baris Tunggal Menggunakan Klausa GROUP BY SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!