Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menggabungkan Nilai Lajur dengan GROUP BY dalam SQL?
Gunakan pernyataan GROUP BY SQL untuk menyertai nilai lajur
Andaikan anda mempunyai jadual yang mengandungi data berikut:
<code>ID | 用户 | 活动 | 页面URL 1 | 我 | act1 | ab 2 | 我 | act1 | cd 3 | 你 | act2 | xy 4 | 你 | act2 | st</code>
Anda mahu mengumpulkan data mengikut Pengguna dan Aktiviti dan menggabungkan nilai dari lajur URL Halaman dalam setiap kumpulan menjadi satu koma- Rentetan yang dipisahkan. Output yang dikehendaki adalah seperti berikut:
<code>用户 | 活动 | 页面URL 我 | act1 | ab, cd 你 | act2 | xy, st</code>
Untuk mencapai gabungan ini menggunakan pertanyaan GROUP BY, anda boleh menggunakan fungsi STUFF() bersama-sama dengan subquery dalam klausa GROUP BY. Berikut ialah pecahan terperinci:
<code class="language-sql">SELECT [用户], 活动, STUFF( (SELECT DISTINCT ',' + 页面URL FROM 表名称 WHERE [用户] = a.[用户] AND 活动 = a.活动 FOR XML PATH ('')) , 1, 1, '') AS URL列表 FROM 表名称 AS a GROUP BY [用户], 活动</code>
URL Halaman untuk setiap gabungan Pengguna dan Aktiviti unik digabungkan bersama dan dipisahkan dengan koma.
Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Nilai Lajur dengan GROUP BY dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!