Rumah > pangkalan data > tutorial mysql > Bagaimanakah Fungsi STRING_AGG SQL Server Boleh Digunakan untuk Pengagregatan Rentetan Berkumpulan?

Bagaimanakah Fungsi STRING_AGG SQL Server Boleh Digunakan untuk Pengagregatan Rentetan Berkumpulan?

Linda Hamilton
Lepaskan: 2024-12-23 20:38:15
asal
872 orang telah melayarinya

How Can SQL Server's STRING_AGG Function Be Used for Grouped String Aggregation?

Pengagregatan Rentetan Berkumpulan: Fungsi LISTAGG dalam Pelayan SQL

Pengagregatan rentetan dalam SQL Server menyediakan cara untuk menggabungkan berbilang nilai rentetan menjadi satu gabungan rentetan. Apabila bekerja dengan data terkumpul, fungsi ini penting dalam senario seperti menjana senarai dipisahkan koma bagi nilai yang berbeza.

Pertimbangkan skema berikut, di mana kami ingin mengagregatkan model kereta dalam setiap pembuatan kereta:

| CarMakeID | CarMake
------------------------
| 1 | SuperCars
| 2 | MehCars

| CarMakeID | CarModelID | CarModel
-----------------------------------------
| 1 | 1 | Zoom
| 2 | 1 | Wow
| 3 | 1 | Awesome
| 4 | 2 | Mediocrity
| 5 | 2 | YoureSettling
Salin selepas log masuk

Keluaran yang kami inginkan ialah:

| CarMakeID | CarMake | CarModels
---------------------------------------------
| 1 | SuperCars | Zoom, Wow, Awesome
| 2 | MehCars | Mediocrity, YoureSettling
Salin selepas log masuk

Untuk mencapai matlamat ini pengagregatan, SQL Server menyediakan beberapa pilihan. Walau bagaimanapun, pendekatan yang disyorkan untuk penggabungan rentetan ialah menggunakan fungsi STRING_AGG.

Pertanyaan semakan berikut menggunakan fungsi STRING_AGG sebagai ganti AGG daripada pertanyaan awal:

SELECT *, 
(SELECT STRING_AGG(CarModel, ', ') AS CarModels
  FROM CarModels model
  WHERE model.CarMakeID = make.CarMakeID
  GROUP BY make.CarMakeID)
FROM CarMakes make
Salin selepas log masuk

Fungsi STRING_AGG ialah fungsi agregat terbina dalam yang mengambil nilai lajur dan menggabungkan semua nilai berbeza menjadi satu rentetan. Parameter SEPARATOR pilihan membolehkan kami menentukan pembatas antara nilai dan dalam kes ini, kami telah memilih koma.

Pertanyaan ini akan menghasilkan output yang diingini, di mana lajur CarModels mengandungi senarai kereta yang dipisahkan koma model untuk setiap pembuatan.

Atas ialah kandungan terperinci Bagaimanakah Fungsi STRING_AGG SQL Server Boleh Digunakan untuk Pengagregatan Rentetan Berkumpulan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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