Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengagregat Nilai Dipisahkan Koma Menggunakan SQL Server GROUP BY Klausa?
Menggunakan SQL Server GROUP BY untuk Menggabungkan Nilai Dipisahkan Koma
KlausaSQL Server GROUP BY
sangat berharga untuk mengagregat data berdasarkan atribut yang dikongsi. Walau bagaimanapun, menggabungkan berbilang nilai ke dalam rentetan yang dipisahkan koma memerlukan pendekatan yang lebih maju sedikit. Di sinilah fungsi STUFF
terbukti berguna.
Begini cara anda boleh mencapai pengagregatan dipisahkan koma menggunakan GROUP BY
dan STUFF
:
<code class="language-sql">SELECT ReportId, Email = STUFF((SELECT ', ' + Email FROM your_table b WHERE b.ReportId = a.ReportId FOR XML PATH('')), 1, 2, '') FROM your_table a GROUP BY ReportId</code>
Mari kita rungkai pertanyaan ini:
SELECT
: Ini mendapatkan semula ReportId
dan rentetan Email
agregat.STUFF
: Ini menggabungkan e-mel dengan bijak, memasukkan koma dan ruang antara setiap e-mel.SELECT
: Subkueri ini mendapatkan semula semua e-mel yang dikaitkan dengan ReportId
tertentu.FOR XML PATH('')
: Ini menukar set keputusan pertanyaan dalaman kepada rentetan XML, menyediakan format yang mudah untuk penggabungan.WHERE
klausa: Ini memastikan pertanyaan dalaman hanya memilih e-mel yang sepadan dengan ReportId
daripada pertanyaan luar.Menggunakan pertanyaan ini pada sampel data akan menghasilkan hasil berikut:
ReportId | |
---|---|
1 | [email protected], [email protected] |
2 | [email protected] |
3 | [email protected], [email protected] |
Teknik ini dengan cekap menjana senarai dipisahkan koma, memudahkan pengendalian data agregat.
Atas ialah kandungan terperinci Bagaimana untuk Mengagregat Nilai Dipisahkan Koma Menggunakan SQL Server GROUP BY Klausa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!