Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menghimpunkan Data dan Menggabungkan Nilai dengan Pemisah Koma dalam SQL?

Bagaimana untuk Menghimpunkan Data dan Menggabungkan Nilai dengan Pemisah Koma dalam SQL?

Susan Sarandon
Susan Sarandonasal
2025-01-07 19:56:41786semak imbas

How to Group Data and Concatenate Values with Comma Separators in SQL?

Pengumpulan dan Penggabungan SQL dengan Pemisah Koma

Panduan ini menunjukkan cara menulis pertanyaan SQL yang mengumpulkan data dan menggabungkan nilai agregat menggunakan pemisah koma. Bayangkan jadual seperti ini:

<code>| ID | Value |
|-----|-------|
| 1   | a     |
| 1   | b     |
| 2   | c     |</code>

Matlamatnya adalah untuk menjana set hasil di mana nilai untuk ID yang sama digabungkan menjadi rentetan dipisahkan koma tunggal:

<code>| ID | Value |
|-----|-------|
| 1   | a,b   |
| 2   | c     |</code>

Penyelesaian menggunakan FOR XML PATH:

Konstruk FOR XML PATH menyediakan cara yang cekap untuk mencapai ini:

<code class="language-sql">SELECT
    ID,
    STUFF((SELECT ', ' + Value
           FROM YourTable t2 WHERE t1.ID = t2.ID
           FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 2, '') AS Values
FROM YourTable t1
GROUP BY ID;</code>

Fungsi STUFF mengalih keluar koma di hadapan dan ruang yang ditambahkan oleh pernyataan SELECT. Pendekatan ini biasanya lebih disukai kerana prestasi dan kebolehbacaannya.

Bacaan Lanjut:

Untuk senario yang lebih maju dan teknik alternatif, terokai sumber ini:

  • Limpahan Tindanan: Benang Limpahan Tindanan yang berkaitan membincangkan cabaran penggabungan yang serupa (cari "kumpulan SQL mengikut gabungan").
  • Dokumentasi Pelayan SQL: Rujuk dokumentasi rasmi Microsoft untuk mendapatkan maklumat terperinci tentang FOR XML PATH dan fungsi yang berkaitan.

Respons yang disemak ini meningkatkan kejelasan, memberikan penjelasan yang lebih ringkas dan menawarkan pautan yang berguna untuk pembelajaran selanjutnya. Imej kekal dalam kedudukan asalnya.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Data dan Menggabungkan Nilai dengan Pemisah Koma 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